我是 MVVM 和 WPF 本身的新手。我需要在 WPF 中做一些原型(prototype)设计并达到概念性问题。
假设您有向您发送数据的服务器。无论您是否显示当前是否需要将其存储在缓存中,这都是您的“真实数据”,有时您需要将其放在 UI 上(当用户打开特定屏幕时),这就是您的 View 模型。
我的问题很明显——我应该将 UI 绑定(bind)到存储在某个服务中的真实数据,还是应该围绕该数据做一个 viewmodel 包装器并绑定(bind)到它?
在第一种情况下,除非我使用 Dispatcher,否则我会收到“调用线程无法访问此对象”异常,但在模型中调用 Dispatcher 看起来不正确
在后一种情况下,我将需要:
正确的方法是什么?
最佳答案
最合适的方式是让您的 ViewModel 与您的 View 需求非常相似。这意味着如果您的 View 有一个列表,那么您很可能在 ViewModel 上至少需要 2 个属性,一个用于 ItemSource,另一个用于选定的 Items。
关于存储的真实数据,我想说的是,您的服务可以访问它。也许您使用 WPF 或 Silverlight,因此您将保护您的真实物理数据。并且可以交换 View 所需的正确信息。
我希望它有所帮助。如果您想分享您项目的一些建筑方面,我们可能会给您更多建议。
关于wpf - 将 View 模型/模型绑定(bind)到真实数据模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13323953/