我有一个像这样定义的 MahApps.Metro 进度条;
<Controls:MetroProgressBar Name="progressBar"
Grid.Column="0"
Grid.Row="2"
Minimum="0"
Maximum="100"
Height="20"
Foreground="LightBlue"
/>
我不想将 Foreground
定义为静态 LightBlue,而是希望根据我当前的主题对其进行更改。
我正在使用他们的 ThemeManager 更改主题
MahApps.Metro.ThemeManager.ChangeAppStyle(System.Windows.Application.Current,
MahApps.Metro.ThemeManager.GetAccent(myAccent),
MahApps.Metro.ThemeManager.GetAppTheme(myTheme));
有没有办法从应用程序中获取当前的主题或口音并将其放入 xaml 文件中?
最佳答案
当前主题的强调色在资源 AccentColor
中定义为 Color,在资源 AccentColorBrush
中定义为 Brush。您只需将画笔分配给进度条即可:
<Controls:MetroProgressBar Name="progressBar"
Grid.Column="0"
Grid.Row="2"
Minimum="0"
Maximum="100"
Height="20"
Foreground="{DynamicResource AccentColorBrush}"
/>
关于c# - 如何根据当前主题更改 MahApps.Metro 进度条颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33534001/