【发布时间】:2011-09-01 12:19:46
【问题描述】:
我是 WPF 和 MVVM 模式的新手,所以请记住这一点。
我负责处理的项目有一个视图和一个视图模型。该视图还包含一个没有视图模型的用户控件。有数据(自定义对象...订单)被传递给我还需要与用户控件共享的视图模型。
看起来 UserControl 确实已经通过 DependencyPropertys 在视图模型之间共享数据,但这些数据只是用户控件上的文本框,看起来绑定回视图模型上的属性。
我需要共享不会由用户控件上的控件表示的数据。有没有一种很好的方法来传递这些数据(复杂的 Order 对象)?也许我确实需要在我的用户控件上使用某种隐藏控件来完成此操作,但我只是不确定是否是新手。任何建议将不胜感激。
【问题讨论】:
-
你能举个例子吗? “我需要共享不会由用户控件上的控件表示的数据”令人困惑...
-
@Tigran 我认为他的意思是不会显示的东西,例如,如果您有一个带有正则表达式的验证用户控件,您将不会显示正则表达式,但您可能会从视图中获得它模型。虽然我同意这并不完全清楚。
-
@Tuskan360,是的,这就是我的意思。我的视图模型中有一个 Order 对象,我将使用它在我的用户控件中填充 Viewport3D 对象。我的订单对象只是从我的视图模型传递到我的用户控件的数据,但没有直接显示在我的用户控件中。我看到的大多数像这样共享数据的例子都是文本框或类似的东西。这就是为什么我说我的数据不会由用户控件上的控件表示。
-
@Cole 澄清了很多事情,下面的答案有帮助还是还有不清楚的地方?