RaiseCanExecuteChanged() публичный Метод

Raises the CanExecuteChanged event.
public RaiseCanExecuteChanged ( ) : void
Результат void
Пример #1
0
        public void RaiseCanExecuteChangedTest()
        {
            var executed = false;
            var canExecute = false;
            var command = new DelegateCommand(() => executed = true, () => canExecute);
            
            Assert.IsFalse(command.CanExecute(null));
            canExecute = true;
            Assert.IsTrue(command.CanExecute(null));

            AssertHelper.CanExecuteChangedEvent(command, () => command.RaiseCanExecuteChanged());
            
            Assert.IsFalse(executed);
        }
        public void MemoryTest()
        {
            DelegateCommand command = new DelegateCommand(() => { });

            MockView view1 = new MockView();
            command.CanExecuteChanged += view1.CanExecuteChangedHandler;

            command.RaiseCanExecuteChanged();
            Assert.IsTrue(view1.CanExecuteChangedHandlerCalled);

            // Check that view1 is collected by the garbage collector.

            WeakReference weakReference = new WeakReference(view1);
            view1 = null;
            GC.Collect();
            Assert.IsFalse(weakReference.IsAlive);

            MockView view2 = new MockView();
            command.CanExecuteChanged += view2.CanExecuteChangedHandler;

            command.RaiseCanExecuteChanged();
            Assert.IsTrue(view2.CanExecuteChangedHandlerCalled);

            // Check that after unwiring view2 the eventhandler is not called anymore.

            command.CanExecuteChanged -= view2.CanExecuteChangedHandler;

            view2.Clear();
            command.RaiseCanExecuteChanged();
            Assert.IsFalse(view2.CanExecuteChangedHandlerCalled);
        }