如何拥有windows主题MAUI的颜色
how to have the color of the windows theme MAUI
我希望主按钮的颜色源自 windows 主题。例如,如果 windows 主题是红色的,我的按钮也是相同的颜色
谢谢
UISettings Class可以用来获取windows平台当前的系统颜色,关键是如何将Windows.UI.Color
转换为Microsoft.Maui.Graphics.Color
。
示例代码
#if WINDOWS
var uiSettings = new Windows.UI.ViewManagement.UISettings();
var color = uiSettings.GetColorValue(UIColorType.Accent);
//change button color with system theme color
button.BackgroundColor = Microsoft.Maui.Graphics.Color.Parse(color.ToString());
#endif
如果你想根据系统主题动态改变颜色,看看Application.Current.RequestedThemeChanged事件,它用来检测系统主题的变化。
注意:以下事件仅在light/dark主题切换时触发。
示例代码
Application.Current.RequestedThemeChanged += (s, a) =>
{
#if WINDOWS
var uiSettings = new Windows.UI.ViewManagement.UISettings();
var color = uiSettings.GetColorValue(UIColorType.Accent);
//change button color with system theme color
button.BackgroundColor = Microsoft.Maui.Graphics.Color.Parse(color.ToString());
#endif
};
我希望主按钮的颜色源自 windows 主题。例如,如果 windows 主题是红色的,我的按钮也是相同的颜色 谢谢
UISettings Class可以用来获取windows平台当前的系统颜色,关键是如何将Windows.UI.Color
转换为Microsoft.Maui.Graphics.Color
。
示例代码
#if WINDOWS
var uiSettings = new Windows.UI.ViewManagement.UISettings();
var color = uiSettings.GetColorValue(UIColorType.Accent);
//change button color with system theme color
button.BackgroundColor = Microsoft.Maui.Graphics.Color.Parse(color.ToString());
#endif
如果你想根据系统主题动态改变颜色,看看Application.Current.RequestedThemeChanged事件,它用来检测系统主题的变化。
注意:以下事件仅在light/dark主题切换时触发。
示例代码
Application.Current.RequestedThemeChanged += (s, a) =>
{
#if WINDOWS
var uiSettings = new Windows.UI.ViewManagement.UISettings();
var color = uiSettings.GetColorValue(UIColorType.Accent);
//change button color with system theme color
button.BackgroundColor = Microsoft.Maui.Graphics.Color.Parse(color.ToString());
#endif
};