WPF跟随系统主题颜色(.Net 7)
原理
利用SystemEvents获取用户更改主题颜色时引发的事件及通过SystemParameters静态类获取具体的主题颜色
主要代码
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.Background = SystemParameters.WindowGlassBrush;
Microsoft.Win32.SystemEvents.UserPreferenceChanged += SystemEvents_UserPreferenceChanged;
}
private void SystemEvents_UserPreferenceChanged(object sender, Microsoft.Win32.UserPreferenceChangedEventArgs e)
{
this.Background = SystemParameters.WindowGlassBrush;
}
}