1
我的意思是:假设在ViewModel上有IsCompliant
和ShowWarning
属性。 UI有一些消息绑定到ShowWarning,并且如果ViewModel不符合条件以及其他一些条件,我们想要显示警告。所以,我的编码是这样的:有没有办法注册一个属性取决于另一个?
private bool mbIsCompliant;
public bool IsCompliant
{
get { return mbIsCompliant; }
set
{
mbIsCompliant = value;
RaisePropertyChanged (() => IsCompliant);
RaisePropertyChanged (() => ShowWarning);
}
}
public bool ShowWarning
{
get { return !IsCompliant && [other conditions]; }
}
注意,双RaisePropertyChanged
呼叫二传手为IsCompliant
,触发绑定到ShowWarning
视图的更新。但是这让我觉得很开心,因为每个属性在ViewModel中都有这些调用。
我更喜欢的方式是让我可以在构造函数中注册的依赖关系表,并让MVVMCross记录如果属性A发生变化,然后属性B也发生变化等等。通过这种方式,每个属性都会跟踪自己,并且整个类将管理属性之间的依赖关系。
这是存在吗?这是一个合理的想法,还是有更好的方法来实现我的目标?
哇,这是一个很大吸收。我会通过这些链接工作,看看什么对我来说最好。谢谢! –