Hat jemand erfolgreich eine Zwei-Wege-Bindung auf einem TextView
mit MVVM Light implementiert? Zwei-Wege funktioniert perfekt mit EditView
, aber in dem Moment versuche ich Zwei-Wege-Bindung mit TextView
- nur One-Way-Bindung funktioniert. Hat jemand einen Einblick, warum, bitte?MVVM Light TextView Zwei-Wege-Bindung in Xamarin (Android)
Ansicht Modell:
private string _someField;
public string SomeField
{
get { return _someField; }
set { Set(ref _someField, value); }
}
Ausblick:
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));
}
keine Fehler geworfen werden. Aber wenn ich (in Code) der View
den Text der EditableText
(EditableText.Text="asdf";
) ändern, löst das entsprechende Set { Set(ref _someField, value); }
in VewModel
aus. Es löst natürlich auch aus, wenn ich einfach das EditText
Widget eintippe.
Wenn ich jedoch (in Code) die Texteigenschaft des SimpleText (SimpleText.Text="2145";)
ändern, löst es nicht das entsprechende Set aus.
Weiß jemand warum?
Vielen Dank für die Hilfe, mike