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";
}
}