0
目前,我們有以下型號:重新評估命令CanExecute
public class Model : ModelBase
{
public Model()
{
ChildModel = new ChildModel();
}
public string FirstName
{
get { return GetValue<string>(FirstNameProperty); }
set { SetValue(FirstNameProperty, value); }
}
public static readonly PropertyData FirstNameProperty = RegisterProperty("FirstName", typeof(string), string.Empty);
public ChildModel ChildModel
{
get { return GetValue<ChildModel>(ChildModelProperty); }
set { SetValue(ChildModelProperty, value); }
}
public static readonly PropertyData ChildModelProperty = RegisterProperty("ChildModel", typeof(ChildModel), null);
}
public class ChildModel : ModelBase
{
public static readonly PropertyData TestStringProperty = RegisterProperty("TestString", typeof(string), null);
public string TestString
{
get { return GetValue<string>(TestStringProperty); }
set { SetValue(TestStringProperty, value); }
}
}
我們使用一個模型,我們的視圖模型
[Model]
public Model AModel
{
get { return GetValue<Model>(AModelProperty); }
private set { SetValue(AModelProperty, value); }
}
public static readonly PropertyData AModelProperty = RegisterProperty("Prescription", typeof(Model));
有一個命令我們的視圖模型與CanExecute功能。 我希望CanExecute在模型或ChildModel中的任何屬性發生更改時重新評估。
有沒有簡單的方法來做到這一點?
(請注意,我們的實際生產模式具有多個子模式,並列出包含其他ModelBases)
我目前掛接到所有的所有子模型的PropertyChanged事件做,但是這似乎是一個骯髒的方式做到這一點。