WPF-如何扩展(或与之并行工作)内置命令机制?

WPF-如何扩展(或与之并行工作)内置命令机制?,wpf,command,routed-commands,Wpf,Command,Routed Commands,请原谅,如果这是一个愚蠢的问题-我已经读了十几篇关于WPF命令基础设施的文章,我比以往任何时候都更困惑 我知道我可以使用内置命令实现(例如)工具栏,该工具栏将标准剪切/复制/粘贴功能应用于任何聚焦文本框: <ToolBar> <Button Command="{x:Static ApplicationCommands.Cut}">Cut</Button> <Button Command="{x:Static ApplicationComm

请原谅,如果这是一个愚蠢的问题-我已经读了十几篇关于WPF命令基础设施的文章,我比以往任何时候都更困惑

我知道我可以使用内置命令实现(例如)工具栏,该工具栏将标准剪切/复制/粘贴功能应用于任何聚焦文本框:

<ToolBar>
    <Button Command="{x:Static ApplicationCommands.Cut}">Cut</Button>
    <Button Command="{x:Static ApplicationCommands.Copy}">Copy</Button>
    <Button Command="{x:Static ApplicationCommands.Paste}">Paste</Button>
</ToolBar>

削减
复制
粘贴
但是我想扩展这个模式,这样就可以使用单个工具栏在一系列不同的控件上调用类似(但不完全相同)的操作。例如,我可以创建一个从ListBox派生的自定义控件,该控件还支持剪切、复制和粘贴操作。尽管ListBox上复制操作的执行代码与TextBox不同,但仍将从同一工具栏按钮调用它

因此,我的问题是:

[1] 在自定义控件中需要实现什么才能像上面的示例中那样对其进行命令?特别是,当聚焦时,应该可以从工具栏中发现它

[2] 工具栏中需要什么标记才能允许单个按钮调用不同的命令,具体取决于所关注的控件类型

非常感谢您提供的任何建议


Tim

带有MVVM模式的通用RelayCommand是创建WPF应用程序的最佳方法。你可以读到它。通过将datacontext指定为命令存在的类,可以将这些命令绑定到任何控件

标记将只使用Binding关键字而不是x:Static

如果这能解决您的问题,请告诉我

苏珊特