Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 事件聚合器:如何阻止事件进一步传播?_Wpf_Prism - Fatal编程技术网

Wpf 事件聚合器:如何阻止事件进一步传播?

Wpf 事件聚合器:如何阻止事件进一步传播?,wpf,prism,Wpf,Prism,我面临一个问题,我需要停止从事件聚合器(Prism框架)传播事件。 我有什么办法可以做吗 假设我有10个事件处理程序。现在,我正在检查第二个事件处理程序中的某些条件,如果该条件的计算结果为true,我想停止8个事件处理程序中其余部分对事件的进一步处理。观察者模式实际上不是这样工作的。EventAggregator非常适合解耦类-对消息感兴趣的各种事物可以订阅接收消息,任何想要的事物都可以发布该消息。所有这些都不需要知道(a)谁在发送和(b)谁在接收 您无法控制消息的接收顺序,也无法在消息发送后取

我面临一个问题,我需要停止从事件聚合器(Prism框架)传播事件。 我有什么办法可以做吗


假设我有10个事件处理程序。现在,我正在检查第二个事件处理程序中的某些条件,如果该条件的计算结果为true,我想停止8个事件处理程序中其余部分对事件的进一步处理。

观察者模式实际上不是这样工作的。
EventAggregator
非常适合解耦类-对消息感兴趣的各种事物可以
订阅
接收消息,任何想要的事物都可以
发布该消息。所有这些都不需要知道(a)谁在发送和(b)谁在接收

您无法控制消息的接收顺序,也无法在消息发送后取消消息


您可以使用EventAggregator的功能,但这不是我以前必须做的事情。

观察者模式的工作方式并非如此。
EventAggregator
非常适合解耦类-对消息感兴趣的各种事物可以
订阅
接收消息,任何想要的事物都可以
发布该消息。所有这些都不需要知道(a)谁在发送和(b)谁在接收

您无法控制消息的接收顺序,也无法在消息发送后取消消息


您可以使用EventAggregator的功能,但这不是我以前必须做的事情。

观察者模式的工作方式并非如此。
EventAggregator
非常适合解耦类-对消息感兴趣的各种事物可以
订阅
接收消息,任何想要的事物都可以
发布该消息。所有这些都不需要知道(a)谁在发送和(b)谁在接收

您无法控制消息的接收顺序,也无法在消息发送后取消消息


您可以使用EventAggregator的功能,但这不是我以前必须做的事情。

观察者模式的工作方式并非如此。
EventAggregator
非常适合解耦类-对消息感兴趣的各种事物可以
订阅
接收消息,任何想要的事物都可以
发布该消息。所有这些都不需要知道(a)谁在发送和(b)谁在接收

您无法控制消息的接收顺序,也无法在消息发送后取消消息


您可以使用EventAggregator的功能,但这不是我以前必须做的事情。

只需在EventArgs中添加一个
.Handled
布尔值,并让所有处理程序在处理之前检查该标志,是否有效?我想这就是我过去做类似事情的方式,但我不记得了。只向EventArgs添加一个
.Handled
布尔值,并让所有处理程序在处理之前检查该标志是否有效?我想这就是我过去做类似事情的方式,但我不记得了。只向EventArgs添加一个
.Handled
布尔值,并让所有处理程序在处理之前检查该标志是否有效?我想这就是我过去做类似事情的方式,但我不记得了。只向EventArgs添加一个
.Handled
布尔值,并让所有处理程序在处理之前检查该标志是否有效?我想这就是我过去做类似事情的方式,但我不记得了。我知道通过这种方式我可以过滤事件。但我的问题是,我想根据某个事件处理程序中满足的特定条件过滤事件。感谢您的帮助。如果筛选条件在一个(且只有一个)订阅服务器中得到满足,那么您应该能够使用该机制,而不必“取消”其他订阅服务器中的事件处理。我知道通过这种方式,我可以筛选事件。但我的问题是,我想根据某个事件处理程序中满足的特定条件过滤事件。感谢您的帮助。如果筛选条件在一个(且只有一个)订阅服务器中得到满足,那么您应该能够使用该机制,而不必“取消”其他订阅服务器中的事件处理。我知道通过这种方式,我可以筛选事件。但我的问题是,我想根据某个事件处理程序中满足的特定条件过滤事件。感谢您的帮助。如果筛选条件在一个(且只有一个)订阅服务器中得到满足,那么您应该能够使用该机制,而不必“取消”其他订阅服务器中的事件处理。我知道通过这种方式,我可以筛选事件。但我的问题是,我想根据某个事件处理程序中满足的特定条件过滤事件。感谢您的帮助。如果筛选条件在一个(且仅一个)订阅服务器中满足,则您应该能够使用该机制,而无需“取消”其他订阅服务器中的事件处理。