MVVM Lightを使用してTextView
で双方向バインディングを正常に実装した人はいますか?双方向はEditView
で完璧に動作しますが、TextView
との双方向バインドを試みると、一方向バインディングのみが動作します。なぜ誰にでも洞察力を持っている人はいますか?MVVMライトXamarin(Android)でのTextView双方向バインディング
ビューモデル:
private string _someField;
public string SomeField
{
get { return _someField; }
set { Set(ref _someField, value); }
}
ビュー:エラーがスローされません
private EditText _editableText;
public EditText EditableText;
{
get { return _editableTex ?? (_editableTex = FindViewById<EditText>(Resource.Id.editText1)); }
}
private TextView _simpleText
public TextView SimpleText
{
get { return _simpleText ?? (_simpleText = FindViewById<TextView>(Resource.Id.textDateDisplay)); }
}
protected override void OnCreate(Bundle savedInstanceState)
{
bindings.Add(this.SetBinding(() => vm.SomeField,() => EditableText.Text, BindingMode.TwoWay));
bindings.Add(this.SetBinding(() => vm.SomeField,() => SimpleText.Text, BindingMode.TwoWay));
}
。しかし、View
の(コード内の)EditableText
(EditableText.Text="asdf";
)のテキストを変更すると、対応するセット{ Set(ref _someField, value); }
がVewModel
でトリガーされます。また、EditText
ウィジェットを入力するだけで、自然にトリガされます。
しかし、(コードで)SimpleText (SimpleText.Text="2145";)
のテキストプロパティを変更すると、対応するセットがトリガーされません。
誰でも知っていますか?
は、彼らは、ユーザの入力を許可していないので、あなたは、TextView
Sと結合する2ウェイを設定することはできません マイク