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也發生變化等等。通過這種方式,每個屬性都會跟蹤自己,並且整個類將管理屬性之間的依賴關係。
這是存在嗎?這是一個合理的想法,還是有更好的方法來實現我的目標?
哇,這是一個很大吸收。我會通過這些鏈接工作,看看什麼對我來說最好。謝謝! –