【发布时间】:2011-10-05 14:25:25
【问题描述】:
在我们正在进行的当前项目中,我们有一个主窗口,其中包含多个视图(每个视图都有自己的视图模型),这些视图在选项卡控件中显示为项目。例如:一个选项卡项是一个编辑器,并包含如下编辑器视图:
<TabItem Header="Test Editor">
<TestEditor:TestEditorView DataContext="{Binding TestEditorViewModel}"/>
</TabItem>
另一个显示结果:
<TabItem Header="Results Viewer">
<ResultViewer:ResultViewer x:Name="resultViewer1" DataContext="{Binding Path=ResultViewModel}" />
</TabItem>
等
我想让 TabItems 绑定到主窗口的视图模型中的某个东西,但我不知道如何在不破坏 MVVM 模式的情况下将视图的名称绑定到任何属性。我想要类似的东西:
<TabControl.ContentTemplate>
<DataTemplate>
<TestEditor:TestEditorView DataContext ="{Binding TabDataContext}"/>
</DataTemplate>
</TabControl.ContentTemplate>
仅使用一些绑定,而不必在设计时知道将使用什么类型作为内容。
有什么想法吗?
【问题讨论】:
标签: wpf data-binding tabcontrol