gpt4 book ai didi

silverlight - 使用MVVM Light将消息发送到Silverlight中的未构造类

转载 作者:行者123 更新时间:2023-12-03 10:50:27 24 4
gpt4 key购买 nike

大家好,
我正在使用Silverlight和MVVM模式构建项目,我需要做的是,导航到其中包含 View 模型的页面作为LayoutRoot的DataContext,我需要将对象传递给该 View 模型进行编辑,但是由于它尚未构建,因此我将无法使用MVVM Light Messenger类,因为要发送消息,您需要先注册该指定类型。

那么有可能在构造 View 模型类之前发送消息,并且在构造模型时我可以获取消息吗?

最佳答案

我自己没有尝试过,但是this guy似乎对这个常见问题有很好的解决方案。您可以通过在WP7Contrib.Messaging文件夹下查找实现该文件的单个cs文件来查看其源代码(无需下载整个contrib项目)here。该项目作为一个整体旨在用于移动应用程序(特别是WP7),但是此自定义Messenger实现实际上与该应用程序无关。

基本上,他做了一个特殊的Messenger实现,每次有人注册注册时都会“转发”给定类型签名的最后一条消息。这样,第一个VM可以发送其消息,第二个VM将被创建(可能是由您的IoC容器或其他任何对象创建)并注册以监听并立即获取在消息存在之前发送的消息。

当然,这可能会导致竞争条件出现问题。在给定的收件人有机会接收给定签名之前,它不依赖于发送其他任何消息。但是,在实践中,我认为这并不是一个太大的问题。特别是如果您充分利用了消息的目标和发件人部分。

关于silverlight - 使用MVVM Light将消息发送到Silverlight中的未构造类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5164714/

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