2

因此,我在菜单栏中放置了一个放大按钮,并且在下面的几个级别中有一个控件,我希望使用放大命令并放大正在查看和重绘的对象。

正如我从阅读中了解到的那样,命令通常会随着来自命令源(在本例中为按钮)的预览事件冒泡,然后向下隧道返回命令源,寻找将命令绑定到事件处理程序的命令绑定命令。但是,就我而言,我想要影响的控件是按钮的级别。

将绑定放在被击中的更高级别的控件中是否正确,然后让更高级别的控件在较低级别的函数上运行方法?

我认为只让代码将命令目标设置到子后代上可能看起来更干净,但现在我不确定这是否是命令目标实际所做的。

我可以像这样放置命令目标吗:

CommandTarget="{Binding ElementName=wavegraphcanvas, Path=CommandTarget, Mode=OneWay}"

在 xaml 中并让它在其子元素中找到元素?*

我认为会发生的事情是它会从按钮冒泡然后向下隧道直到找到元素名称或其他东西

4

1 回答 1

2

CommandTarget当您知道目标元素是什么时,这是合适的。在你的情况下,这似乎是真的。

如果您有多个可以接收命令的元素(例如,3 个文本框获取Paste命令),那么设置CommandTarget. 这就是路由部分的RoutedCommand作用;尝试找到合适的元素来应用命令,

于 2013-06-11T18:19:49.230 回答