WPF命令-更改目标控制';s属性

WPF命令-更改目标控制';s属性,wpf,Wpf,我正在创建一个命令,该命令将有一个文本框控件作为目标 创建命令的代码: public class Commands { public static RoutedCommand Appender; static Commands() { Appender = new RoutedCommand(); } public static void AppenderExecuted(object target, ExecutedRoutedEve

我正在创建一个命令,该命令将有一个文本框控件作为目标

创建命令的代码:

public class Commands
{
    public static RoutedCommand Appender;

    static Commands()
    {
        Appender = new RoutedCommand();
    }

    public static void AppenderExecuted(object target, ExecutedRoutedEventArgs e)
    {
        System.Windows.Controls.TextBox targetTbox = target as System.Windows.Controls.TextBox;
        if (targetTbox != null)
        {
            targetTbox.Text += "AppendedText";
        }
    }
}
XAML:

我希望能够在窗口的任何文本框上使用Appender命令,而无需将命令绑定添加到每个文本框

->为什么将命令绑定添加到窗口不起作用?
->有什么解决方案吗?

试试:

public static void AppenderExecuted(object target, ExecutedRoutedEventArgs e)  {  
    System.Windows.Controls.TextBox targetTbox = e.OriginalSource as System.Windows.Controls.TextBox;  
    if (targetTbox != null) {  
            targetTbox.Text += "AppendedText";  
    }  
}  
        //create bindings
        CommandBinding bindingTM = new CommandBinding(Commands.Appender, Commands.AppenderExecuted);

        //[THIS DOESN'T WORK]
        this.CommandBindings.Add(bindingTM);

        //[THIS WORKS]
        txtEdit.CommandBindings.Add(bindingTM);

        //associate command
        menuAppend.Command = Commands.Appender;
public static void AppenderExecuted(object target, ExecutedRoutedEventArgs e)  {  
    System.Windows.Controls.TextBox targetTbox = e.OriginalSource as System.Windows.Controls.TextBox;  
    if (targetTbox != null) {  
            targetTbox.Text += "AppendedText";  
    }  
}