首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Xaml中,如何以编程方式更改SolidColorBrush的值?

在Xaml中,如何以编程方式更改SolidColorBrush的值?
EN

Stack Overflow用户
提问于 2016-04-16 09:17:13
回答 1查看 63关注 0票数 0

嗨,我有一个xaml应用程序,有一种特殊的颜色在页面上的许多地方使用。我想以编程方式更改此颜色的值。我不想单独更新每个对象的颜色。我已经尝试过了:

代码语言:javascript
复制
<Grid
   Background="{Binding GalleryViewBrush, Mode=TwoWay}"
   Grid.Row="0"
   Grid.Column="0">

然后在代码背后:

公共画笔GalleryViewBrush { get;set;}

GalleryViewBrush =新的SolidColorBrush(Colors.Red);

但是这个颜色永远不会起作用。我也尝试过xbind,但没有成功

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-04-16 11:06:26

视图模型需要实现INotifyPropertyChanged,然后在画笔属性更改时触发PropertyChanged事件。通常,这是在属性的setter中完成的。

代码语言:javascript
复制
private Brush _myBrush;
public MyBrush {
    get { return _myBrush; }
    set {
        _myBrush = value;
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(MyBrush));
    }
}

如果问题中GalleryViewBrush的get/set是问题中代码示例中的实际内容,那么这可能就是问题所在。

注意上面代码示例中的输入错误,我被自动取款机撞坏了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36659125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档