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

4

如果这是一个愚蠢的问题,请原谅我 - 我已经阅读了十几篇关于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] 工具栏中需要什么标记才能允许单个按钮调用不同的命令,这取决于所聚焦的控件类型?
非常感谢您提供的任何建议。
蒂姆
1个回答

0

使用MVVM模式的通用RelayCommands是创建WPF应用程序的最佳方式。您可以在这里阅读有关它的内容。这些命令可以通过将数据上下文指定为命令存在的类来绑定到任何控件。

标记只需使用绑定关键字,而不是x:Static。

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

Sushant。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接