我在XAML中使用ToggleButton这样定义:
<ToggleButton IsChecked="{Binding DateFilter, ElementName=myUserControl, Mode=TwoWay}"/>
和'DateFilter'定义如下:
public Boolean DateFilter { get; set; }
当我点击切换按钮时,'DateFilter'会相应更新。但是,如果我在代码中修改'DateFilter',则ToggleButton不会更新!
我怎样才能做到这一点?
答案 0 :(得分:0)
您需要为INUifyConpertyChanged为myUserControl添加继承,并使用“DateFilter”属性名称在DateFilter setter事件PropertyChanged中发送。
答案 1 :(得分:0)
public MyClass : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged = delegate {};
private Boolean _dateFilter;
public Boolean DateFilter
{
get { return _dateFilter; }
set
{
_dateFilter = value;
PropertyChanged(this, new PropertyChangedEventArgs("DateFilter");
}
}
}
每当你更改_dateFilter时,基本上都会调用PropertyChanged
,或者只是使用setter,你就会被排序。将事件处理程序设置为空委托可以避免空检查。