我想知道在 WPF 中启用控件之间通信的正确机制是什么。我的目标是不使用常规事件,而必须手动连接它们。路由命令(隧道、冒泡)的默认行为似乎是正确的,但我想我错过了一些东西。
路由事件是 WPF 提供的一种新的基础结构,它允许事件沿着可视化树向下传送到目标元素,或者冒泡到根元素。当一个事件被引发时,它会向上或向下“移动”可视化树,在它在途中遇到的订阅该事件的任何元素上调用该事件的处理程序。 注意这个树遍历并没有覆盖整个视觉树,只覆盖了祖先元素
那是来自这篇WPF 文章
使用文章中的图像,我希望“立即元素 #1”启动(引发)一个事件,然后让“立即元素 #2”处理该事件。我想实现这一点,而不必在“根元素”中放置任何代码。
基本上从我的应用程序中的任何地方触发一个事件(保存、更新状态、更改选择等),然后让它在其他地方处理,而两方不知道彼此的任何信息。这可能吗?
我不相信数据绑定是答案。我想使用路由事件/命令,因为它们是在整个树中设计的,而不仅仅是在源代码管理的分支中。也许使用路由事件/命令无法完成,数据绑定就是答案。我只是不知道...
有任何想法吗?