我的 app.xaml 资源中有这个
<Color x:Key="myColor">#1ba1e2</Color>
在我的 WPF 项目中,我在按钮上使用了它:
void win_Loaded(object sender, RoutedEventArgs e)
{
btn.Background = (SolidColorBrush)Application.Current.Resources["mySolidColor"];
}
当我更改“mySolidColor”的资源时,按钮未使用新颜色
void changeColor(Colors color)
{
Application.Current.Resources["mySolidColor"] = new SolidColorBrush(color);
}
请考虑您正在添加 1000 多个对象,例如 Button,您使用 Resource 作为颜色,我正在寻找一种方法,通过更改颜色,过去的对象获得新颜色,这可能吗?
您可以创建自定义样式来定位您需要的所有对象,例如:按钮
<Color x:Key="YourColorNameKey">#1ba1e2</Color>
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="{DynamicResource YourColorNameKey}"/>
</Style>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句