public void Binding_TwoWayFromViewModelToCheckBoxWithObserveEvent_BindingGetsUpdated() { var vm = new TestViewModel { Model = new TestModel() }; var control1 = new CheckBox(Application.Context); _binding = new Binding <string, bool>( vm, () => vm.Model.MyProperty, control1, () => control1.Checked, BindingMode.TwoWay) .ObserveTargetEvent(); // LostFocus doesn't work programatically with CheckBoxes Assert.AreEqual(null, vm.Model.MyProperty); Assert.IsFalse(control1.Checked); vm.Model.MyProperty = "True"; Assert.AreEqual("True", vm.Model.MyProperty); Assert.IsTrue(control1.Checked); control1.RequestFocus(); control1.Checked = false; Assert.IsFalse(control1.Checked); Assert.AreEqual("False", vm.Model.MyProperty); }
public void Binding_TwoWayFromCheckBoxToCheckBoxWithObserveEvent_BindingGetsUpdated() { var control1 = new CheckBox(Application.Context); var control2 = new CheckBox(Application.Context); _binding = new Binding <bool, bool>( control1, () => control1.Checked, control2, () => control2.Checked, BindingMode.TwoWay) .ObserveSourceEvent() // LostFocus doesn't work programatically with CheckBoxes .ObserveTargetEvent(); // LostFocus doesn't work programatically with CheckBoxes Assert.IsFalse(control1.Checked); Assert.IsFalse(control2.Checked); control1.Checked = true; Assert.IsTrue(control1.Checked); Assert.IsTrue(control2.Checked); control2.RequestFocus(); control2.Checked = false; Assert.IsFalse(control2.Checked); Assert.IsFalse(control1.Checked); }
public void Binding_TwoWayFromViewModelToCheckBoxWithObserveEvent_BindingGetsUpdated() { var vm = new TestViewModel { Model = new TestModel() }; var control1 = new CheckBox(Application.Context); var binding = new Binding<string, bool>( vm, () => vm.Model.MyProperty, control1, () => control1.Checked, BindingMode.TwoWay) .ObserveTargetEvent(); // LostFocus doesn't work programatically with CheckBoxes Assert.AreEqual(null, vm.Model.MyProperty); Assert.IsFalse(control1.Checked); vm.Model.MyProperty = "True"; Assert.AreEqual("True", vm.Model.MyProperty); Assert.IsTrue(control1.Checked); control1.RequestFocus(); control1.Checked = false; Assert.IsFalse(control1.Checked); Assert.AreEqual("False", vm.Model.MyProperty); }
public void Binding_TwoWayFromCheckBoxToCheckBoxWithObserveEvent_BindingGetsUpdated() { var control1 = new CheckBox(Application.Context); var control2 = new CheckBox(Application.Context); var binding = new Binding<bool, bool>( control1, () => control1.Checked, control2, () => control2.Checked, BindingMode.TwoWay) .ObserveSourceEvent() // LostFocus doesn't work programatically with CheckBoxes .ObserveTargetEvent(); // LostFocus doesn't work programatically with CheckBoxes Assert.IsFalse(control1.Checked); Assert.IsFalse(control2.Checked); control1.Checked = true; Assert.IsTrue(control1.Checked); Assert.IsTrue(control2.Checked); control2.RequestFocus(); control2.Checked = false; Assert.IsFalse(control2.Checked); Assert.IsFalse(control1.Checked); }