0

我创建了一个名为 JsData 的类并在 App.xaml.cs 中对其进行了实例化,以便我可以从多个视图模型中访问它。JsData 有几个 ObservableCollections、一些用于配置的属性和一些方法,这些方法可以操纵从远程服务器自动提取数据的过程。

现在问题来了。以最少的编码将全局数据绑定到我的视图是否方便?此外,我正在使用 Caliburn.Micro。使用消息传递将 PropertyChanged 事件通知给视图模型是否可行且合适?

4

1 回答 1

0

我认为最好的方法是创建一个您的视图模型可以实现的服务。这样一来,需要数据的视图模型就可以实现服务,并且服务更加灵活,因为它可以注入到视图模型构造中。这使您的视图模型更加解耦并尊重 mvvm 模式。

我不会使用消息传递来不通知更改,这会产生不必要的开销。您只需要让您的视图模型实现 inotifypropertychanged 然后在您的构造函数中获取服务然后将服务值传递给您的视图模型中引发属性更改事件的属性。

如果您需要帮助定义服务,请告诉我,我将发布示例

于 2013-04-20T19:36:09.417 回答