如何将文本框的borderBrush属性绑定到视图模型中的属性,类型转换错误
本文关键字:属性 模型 视图 错误 类型转换 绑定 文本 borderBrush | 更新日期: 2023-09-27 18:03:32
我在xaml中有一个带有borderbrush属性的文本框,如下所示:
<textbox BorderBrush="{Binding MyBrush}" />
在视图模型中,我已经定义了属性
public System.Windows.Media.Brushes MyBrush {get;set;}
但是我不能为这个属性设置值
void method()
{
MyBrush = System.Windows.Media.Brushes.Red;
}
不能隐式地将System.Windows.Media.SolidColorBrush类型转换为System.Windows.Media.Brushes
change
public System.Windows.Media.Brushes MyBrush {get;set;}
public System.Windows.Media.Brush MyBrush {get;set;}
Brushes
是一个包含预定义刷实例的静态类。
你的属性类型应该是Brush
您应该使用INotifyPropertyChanged。代码如下:
private System.Windows.Media.Brush _myBrush
public System.Windows.Media.Brush MyBrush {
get { return _myBrush; }
set {
if(value != _myBrush) {
_myBrush = value;
OnPropertyChanged("MyBrush");
}
}
}
protected virtual void OnPropertyChanged(string propertyName) {
// ....
}