[英]Updating a Custom Control's binded Property on its property change
App.cs
class customRadioButton:RadioButton
{
private Brush enableColor;
private Brush disableColor;
public EnableColor()
{
get{ /*get value */}
set{ /* set value */}
}
}
Main.xaml
<local:customRadioButton EnableColor={Binding ElementName=disableButton, Path=EnableColor} />
<local:customRadioButton x:Name="disableButton" EnableColor="Red", Path=EnableColor} />
现在我动态更改EnableColor的值。 我遇到的问题是分配的值但未反映在main.window中
我不想使用依赖属性
是否有任何其他方法来告诉Binded Elements其属性已更改。
注意:我尝试过UpdateTrigger它也无法正常工作
为了获得Binding工作,您需要创建一个DependencyProperty。
public Brush EnableColor
{
get { return (Brush)this.GetValue(EnableColorProperty); }
set { this.SetValue(EnableColorProperty, value); }
}
public static readonly DependencyProperty EnableColorProperty = DependencyProperty.Register(
"EnableColor", typeof(Brush), typeof(customRadioButton), new PropertyMetadata(default(Brush));
阅读MSDN了解详细信息。
好奇你厌恶使用dependencyproperty是什么? 我在手机上回答这个问题,所以不能为你嘲笑,但这样做非常简单。
只需为“WPF自定义控件依赖属性示例”执行Google操作,并按照自己的需要进行自定义操作。
依赖性peppery将为您提供您正在寻找的更改通知。
只有在绑定到XAML数据上下文的某些内容时,UpdateTrigger才会适用。 我的意思是我猜玩具可以捏造以使其工作,但DependencyProperty绝对是这样
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.