0

我正在使用 Silverlight 5 的隐式 DataTemplates 来连接 ViewModel 和 View。

在我的 MainView 中有一个 TabControl(来自 Telerik),它绑定到 MainViewModel 的 ObservableCollection。对于该集合中所有可能的 ViewModel 类型,有一个 DataTemplate 定义了相应的视图 (=Tab)。

非常干净,完全解耦。

但现在我需要编写真正只与视图相关的代码:我想手动将所选选项卡的功能区合并到主视图的功能区。ViewModel 对其对应的视图一无所知,也不知道像功能区这样的 UI 元素(这是一件好事)。所以这是我需要编写代码隐藏的极少数情况之一。

我尝试了 TabControl 的 SelectionChanged 事件,但所有属性(SelectedItem、SelectedValue、...)都指向 ViewModel 而不是 View。

如何获得视图 - Silverlight 5 使用 DataTemplate 连接的视图?

感谢您的任何想法!

4

1 回答 1

0

简短的回答,你没有。使用具有强类型约束的事件聚合器或信使类。

使用 MVVM-Light 的一个很好的实现是 Messenger 类,有关信息,请参阅本文。

http://blog.galasoft.ch/archive/2009/09/27/mvvm-light-toolkit-messenger-v2-beta.aspx

无论如何,如果我对您的理解正确,您应该能够通过信使在标签上显示功能区消息。

于 2011-06-06T17:26:10.690 回答