mvvmcross本身支持綁定到嵌套屬性嗎?綁定子屬性MvvmCross
例如我有一個視圖模型如下:
class MainViewModel : MvxViewModel
{
public SubViewModelBase SubViewModel
{
get { return _subViewModel; }
set { _subViewModel = value; RaisePropertyChanged(() => SubViewModel); }
}
}
子視圖模型可以改變,但的MainView將結合爲ALL SubViewModelBase類相同的屬性...示例SubViewModelBase類如下:
class SubViewModelBase : MvxViewModel
{
public bool ShowIndeterminantProgress
{
get { return _showIndeterminantProgress; }
set { _showIndeterminantProgress = value; RaisePropertyChanged(() => ShowIndeterminantProgress);}
}
// ... More common properties ...
}
所以會的MainView理想結合這樣
this.CreateBinding(_progressBar)
.For(view=> view.Visibility)
.To<MainViewModel>(vm => vm.SubViewModel.ShowIndeterminantProgress)
.WithConversion("Visibility")
.Apply();
應該這樣工作嗎?它似乎沒有工作,但輸出中沒有綁定錯誤?
謝謝斯圖爾特。所以這是行得通的,你是對的。看起來有問題的屬性是Pressed屬性[link] http://stackoverflow.com/questions/17926975/android-view-states-pressed-activated-selected-etc-bindings-do-i-have- to-wr在子視圖模型中綁定(在Android上)。我會繼續研究這個,調試器擊中屬性的getter,但是setter不會被擊中,即使我使用雙向模式。但其他嵌套屬性都按我的預期工作。謝謝! – AlexUT