gpt4 book ai didi

.net - 如何在 MVVM WPF 应用程序中通知 subview 事件的父 View ?

转载 作者:行者123 更新时间:2023-12-03 10:16:04 26 4
gpt4 key购买 nike

我有一个基于 MVVM 的 WPF 桌面应用程序。
我正在利用 MVVMLight 和 Prism 来创建包含 View 和 subview 的用户控件。

我在 subview 上有按钮。
(假设它是一个关闭按钮)

将单击事件的通知从嵌套 subview 传播到包含父 View 的最佳方法是什么?

最佳答案

subview 可以使用 EventAggregator在 Prism 或 Messenger MvvmLight 中的类发送父 View (或 View 模型)订阅的消息。有关该概念的更多信息,请参阅以下链接。

https://msdn.microsoft.com/en-us/magazine/jj694937.aspx
http://dotnetpattern.com/mvvm-light-messenger
https://blog.magnusmontin.net/2014/02/28/using-the-event-aggregator-pattern-to-communicate-between-view-models/

另一种方法是从父 View 模型中保持对 subview 模型的强引用,并在 subview 模型中引发父 View 订阅的事件。

使用事件聚合器或信使的好处是您可以避免在事件的发布者和订阅者之间引入紧密耦合,这应该使应用程序更易于维护。

事件或消息的发布者和订阅者都只知道事件聚合器或信使,但他们对彼此一无所知。

关于.net - 如何在 MVVM WPF 应用程序中通知 subview 事件的父 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43482545/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com