Пример #1
0
        public void Test_WeakBinding_DetachSourceEvent()
        {
            var viewModel = new TestViewModel();
            var view      = new TestView();

            WeakBinding properyBinding = new WeakPropertyBinding(view, "Text1", viewModel, "Name")
                                         .Initialize <WeakPropertyBinding>()
                                         .SetMode(BindMode.TwoWay)
                                         .AttachTargetEvent("TestViewEvent");

            viewModel.Name = Name1;

            Assert.AreEqual(view.Text1, Name1);

            view.Text1 = Name2;
            Assert.AreNotEqual(viewModel.Name, Name2);

            view.RaiseTestViewEvent();
            Assert.AreEqual(viewModel.Name, Name2);

            properyBinding.DetachSourceEvent();
            view.Text1 = Name1;
            Assert.AreNotEqual(viewModel.Name, Name1);
        }
Пример #2
0
        public void Test_WeakBinding_DetachSourceEvent()
        {
            var viewModel = new TestViewModel();
            var view = new TestView();

            WeakBinding properyBinding = new WeakPropertyBinding(view, "Text1", viewModel, "Name")
                .Initialize<WeakPropertyBinding>()
                .SetMode(BindMode.TwoWay)
                .AttachTargetEvent("TestViewEvent");
            viewModel.Name = Name1;

            Assert.AreEqual(view.Text1, Name1);

            view.Text1 = Name2;
            Assert.AreNotEqual(viewModel.Name, Name2);

            view.RaiseTestViewEvent();
            Assert.AreEqual(viewModel.Name, Name2);

            properyBinding.DetachSourceEvent();
            view.Text1 = Name1;
            Assert.AreNotEqual(viewModel.Name, Name1);
        }