這是一個標準的Mvvm問題。我認爲它在Wpf的早年出現了很多 - 我認爲有很多關於多種依賴性的想法....我還沒有實現任何這些...
如果你想要做這一點,那麼你可以使用:
(1)視圖模型對象上提供一個綜合性能:
public string FullName
{
get
{
return FirstName + SecondName;
}
}
如果你這樣做,那麼你需要確保當你RaisePropertyChanged (「FirstName」)或RaisePropertyChanged(「SecondName」),那麼你也RaisePropertyChanged(「FullName」)
(2)使用轉換器的名字結合在一起:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
local:MvxBind="{'Text':{'Path':'','Converter':'MakeFullName'}}" />
注意,這裏轉換器採用父對象作爲輸入參數。
注意,在這種情況下,如果名字或SecondName改變,則文本視圖可能無法得到更新:/
(3),你可以在UI使用多個TextViews - 每一個綁定的必要一點文字。
(4)您可以使用單個文本視圖並使用C#級綁定 - 例如,在查看使用如下代碼:
ViewModel.PropertyChanged += (s,e) => {
if (e.PropertyName == "FirstName" || e.PropertyName == "SecondName")
{
this.FindViewById<TextView>(Resource.Id.XXX).Text = ViewModel.FirstName + ViewModel.SecondName;
}
}
如果你想多依賴綁定是一個重要的要求,請在https://github.com/slodge/MvvmCross/issues登錄這是一個問題(需求) - 或者甚至只是派生的代碼和添加他們:)