public void Test_WeakBinding_GetBindSource() { var viewModel = new TestViewModel(); var view = new TestView(); WeakBinding binding = new WeakPropertyBinding(viewModel, "Name", view, "Text1") .Initialize <WeakPropertyBinding>() .SetMode(BindMode.TwoWay) .AttachSourceEvent(typeof(TestView), "StaticTestViewEvent"); viewModel.Name = Name1; Assert.AreEqual(view.Text1, Name1); view.Text1 = Name2; Assert.AreNotEqual(viewModel.Name, Name2); TestView.RaiseStaticTestViewEvent(); Assert.AreEqual(viewModel.Name, Name2); BindContext context = binding.GetBindContext(viewModel, "Name"); Assert.AreEqual(binding.BindTarget, context); BindContext source2 = binding.GetBindContext(view, "Text1"); Assert.AreEqual(binding.BindSource, source2); }
public void Test_WeakBinding_AttachTargetEvent_3() { var viewModel = new TestViewModel(); var view = new TestView(); new WeakPropertyBinding(view, "Text1", viewModel, "Name") .Initialize <WeakPropertyBinding>() .SetMode(BindMode.TwoWay) .AttachTargetEvent(typeof(TestView), "StaticTestViewEvent"); viewModel.Name = Name1; Assert.AreEqual(view.Text1, Name1); view.Text1 = Name2; Assert.AreNotEqual(viewModel.Name, Name2); TestView.RaiseStaticTestViewEvent(); Assert.AreEqual(viewModel.Name, Name2); }