【发布时间】:2011-01-06 09:42:05
【问题描述】:
如果这是一个愚蠢的问题,请原谅 - 我已经阅读了十几篇关于 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] 工具栏中需要哪些标记才能允许单个按钮调用不同的命令,具体取决于所关注控件的类型?
非常感谢您提供的任何建议。
提姆
【问题讨论】:
标签: wpf command routed-commands