勇气SG 2015-01-28 10:09 采纳率: 0%
浏览 2761

wpf命令绑定附加事件传递的过程

命令源在命令绑定的范围内向命令目标发送命令,但是当命令源不在命令绑定范围内的时候,命令绑定的附加事件是如何传送的呢?请大侠们帮我看一下下面代码附加事件的传送过程是什么样的?是怎么从命令源传到命令目标的?
还有在命令目标不由程序员指定的时候,不应该是当前焦点所在为命令目标吗,为什么添加监视中的命令目标为空呢?
xaml代码如下:







.cs代码如下:
public RoutedCommand clearCmd = new RoutedCommand("Clear", typeof(CommandWindow));

    private void InitializeCommand()
    {
        this.button1.Command = this.clearCmd;
        this.clearCmd.InputGestures.Add(new KeyGesture(Key.C, ModifierKeys.Alt));
        this.button1.CommandTarget = this.textBoxA;
        CommandBinding cb = new CommandBinding();
        cb.Command = this.clearCmd;
        cb.CanExecute += new CanExecuteRoutedEventHandler(cb_CanExecute);
        cb.Executed += new ExecutedRoutedEventHandler(cb_Executed);            
        this.stackPanel2.CommandBindings.Add(cb);       
    }

    void cb_CanExecute(object sender, CanExecuteRoutedEventArgs e)
    {
        if (string.IsNullOrEmpty(this.textBoxA.Text))
        {
            e.CanExecute = false;
        }
        else
        { e.CanExecute = true; }

        e.Handled = true;
    }

    void cb_Executed(object sender, ExecutedRoutedEventArgs e)
    {
        this.textBoxA.Clear();

        e.Handled = true;
    }
  • 写回答

2条回答 默认 最新

  • 勇气SG 2015-01-28 10:13
    关注

    看不到xaml代码,我再重新发一下:







    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制