在Wpf中,我如何从按钮向子控件发送命令

本文关键字:控件 命令 按钮 Wpf | 更新日期: 2023-09-27 18:17:51

所以我在菜单栏中放置了一个放大按钮,在下面几层有一个控件,我想要采取缩放命令,放大正在查看的对象并重新绘制。

我从阅读中了解到,命令通常会从命令源(在本例中是按钮)弹出一个预览事件,然后返回到命令源,寻找将命令绑定到命令的事件处理程序的命令绑定。然而,在我的例子中,我想要影响的控制是从按钮向下的级别。

它是正确的只是绑定在一个更高级别的控制,得到命中,然后有更高级别的控制运行在较低级别的功能上的方法?

我认为它可能看起来更干净,只是有代码设置一个命令目标到子后代,但现在我不确定如果这是什么命令目标实际上做。

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

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

中的元素,并让它找到它的子元素?*

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

在Wpf中,我如何从按钮向子控件发送命令

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

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