當某個事件(IEventAggregator
)發生時,我目前需要設置我的TabControl的SelectedIndex
屬性,並考慮如何實現該屬性。GetView()vs ViewModel中的屬性
我想出了兩個可能性:
- 使用
GetView()
通過ViewAware
爲了訪問我的TabControl和SelectedIndex的設置爲我的價值 - 使用屬性在我相關的ViewModel和綁定這個屬性來提供我的TabControl的SelectedIndex屬性通過XAML
這兩個選項都工作正常,但我個人希望得到這個問題的答案,因爲這不是我第一次想知道其中在這種情況下實現功能。
我知道第一個選項不會啓用通知支持,但除此之外:什麼是正確的方法?
我通常將選項卡作爲VM中的模型公開,並在VM上具有SelectedItem屬性。將選項卡控件的ItemsSource綁定到集合,並將SelectedItem綁定到VM上。 – Will
對,我也一樣。不過,我認爲當我們通過GetView方法訪問控件時,我們最終會減少代碼。我不確定這是否是一種好方法。 – 0x8BADF00D
所以,你想知道你是否應該將你的代碼隱藏到ViewModel中? :| – Will