您好我有一个xaml应用程序,在页面上的许多地方使用了一种特定的颜色。我想以编程方式更改此颜色的值。我不想单独更新每个对象的颜色。我试过这个:
<Grid
Background="{Binding GalleryViewBrush, Mode=TwoWay}"
Grid.Row="0"
Grid.Column="0">
然后在codebehind:
public Brush GalleryViewBrush {get;组; }
GalleryViewBrush =新的SolidColorBrush(Colors.Red);
但颜色永远不会奏效。我也试过xbind,但没有运气
感谢
答案 0 :(得分:0)
您的视图模型需要实现INotifyPropertyChanged
,然后在刷子属性更改时触发PropertyChanged
事件。传统上,这是在财产的制定者中完成的。
private Brush _myBrush;
public MyBrush {
get { return _myBrush; }
set {
_myBrush = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(MyBrush));
}
}
如果您的问题中GalleryViewBrush
的获取/设置是您问题中代码示例中的实际内容,那可能就是问题所在。
在我上面的代码示例中记错误,我打了ATM。