Esempio n. 1
0
 private static unsafe int Do_Abi_add_CanExecuteChanged_0(IntPtr thisPtr, IntPtr handler, out global::WinRT.EventRegistrationToken token)
 {
     token = default;
     try
     {
         var __this    = global::WinRT.ComWrappersSupport.FindObject <global::System.Windows.Input.ICommand>(thisPtr);
         var __handler = CanExecuteChangedEventHandler.FromAbi(handler);
         token = _CanExecuteChanged_TokenTables.GetOrCreateValue(__this).AddEventHandler(__handler);
         __this.CanExecuteChanged += __handler;
         return(0);
     }
     catch (global::System.Exception __ex)
     {
         return(__ex.HResult);
     }
 }
        void OnCommandChanged(DependencyPropertyChangedEventArgs e)
        {
            var oldValue = e.OldValue as ICommand;
            var newValue = e.NewValue as ICommand;

            if (oldValue != null && commandCanExecuteChangedHandler != null)
            {
                oldValue.CanExecuteChanged     -= commandCanExecuteChangedHandler.Handler;
                commandCanExecuteChangedHandler = null;
            }
            if (newValue != null)
            {
                commandCanExecuteChangedHandler = new CanExecuteChangedEventHandler <CommandItem>(this, (owner, o, ee) => owner.OnCommandCanExecuteChanged(o, ee));
                newValue.CanExecuteChanged     += commandCanExecuteChangedHandler.Handler;
            }
            UpdateCanExecute();
        }
Esempio n. 3
0
 protected override IntPtr GetAbi(IObjectReference marshaler) =>
 marshaler is null ? IntPtr.Zero : CanExecuteChangedEventHandler.GetAbi(marshaler);
Esempio n. 4
0
 protected override void DisposeMarshaler(IObjectReference marshaler) =>
 CanExecuteChangedEventHandler.DisposeMarshaler(marshaler);
Esempio n. 5
0
 protected override IObjectReference CreateMarshaler(EventHandler del) =>
 del is null ? null : CanExecuteChangedEventHandler.CreateMarshaler(del);
Esempio n. 6
0
 public CommandItem()
 {
     this.commandCanExecuteChangedHandler = new CanExecuteChangedEventHandler <CommandItem>(this, (owner, o, e) => owner.OnCommandCanExecuteChanged(o, e));
 }