【发布时间】:2011-06-24 08:21:10
【问题描述】:
我已经为我们的 silverlight 应用程序完全采用了 MVVM 模式。但是,我们的一些 UI 是数据驱动的。主要是两个项目...
菜单。我们正在使用 Infragistics XamMenu。
我们有一个“仪表板”,允许用户添加“管理单元”。这有点像 iGoogle 之类的门户网站。
在上述两种情况下,UI 都需要在运行时构建。目前我正在运行后面代码中的代码,因为我没有看到访问 ViewModel 中 UI 树的简单方法。
为了在视图中运行代码,我在 ViewModel 中创建了一个事件,该事件在数据加载后触发。所以,我必须在后面的视图代码中合并对视图模型的引用。我不喜欢它,它很丑……所以基本上有两个问题:
如何让视图从视图模型中获取数据已加载的消息,而无需在后面的视图代码中直接引用视图模型?目前我从数据上下文中提取引用。
是否可以在视图模型中构建 UI 并使用数据绑定。我想知道是否可以将内容控件的“内容”绑定到视图模型中的某种类型(不确定类型是什么)?当然,这方面的坏处是视图模型的可测试性似乎消失了。绑定可以这样用吗?
【问题讨论】:
标签: design-patterns mvvm silverlight-4.0 mvvm-light