每当用户控件更改值时,用户控件是否可以接收更新?我有一个带有保存按钮的表单,我想在值更改后立即激活它。
目前我正在使用我的View查看,但我必须在每个属性更改时添加一个调用。这没关系,但是对于编辑框,这意味着用户必须在保存按钮变为活动状态之前跳过标签。
答案 0 :(得分:1)
最简单的方法是创建一个IsDirty布尔属性,每当更改值时都会更改该属性。 将保存按钮的IsEnabled属性耦合到IsDirty布尔值。
如果它在一个类中你想要解耦,请使用事件/通知。
答案 1 :(得分:1)
如果将视图绑定到视图模型,那么在视图模型中可以有一个标志IsDirty,每次触发PropertyChanged事件时都会设置该标志
protected void FirePropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
_isDirty = true;
if(handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
然后用IsDirty
绑定你的按钮