我有一个使用Microsoft.Windows.Controls.Ribbon
的WPF功能区应用程序。我可以通过Grid.Row
标记设置视图:
</ribbon:Ribbon>
<Grid Grid.Row="1">
<!-- View's content here -->
</Grid>
</Grid>
</ribbon:RibbonWindow>
问:如何根据所选的功能区选项卡更改视图?
答案 0 :(得分:0)
您有几个选择。
SelectionChanged
事件并交换视图的内容。如果您正在使用Prism,您可以创建一个SelectorRegionAdapter
来为您执行此操作。Ribbon.SelectedValue
(设置SelectedValuePath
说Label
)并提供DataTrigger
来处理每个标签的名称。您可以在RibbonWindow
属性中放置每个视图模型的实例(假设您的RibbonTab.Tag
数据上下文具有您需要的每个视图模型),并调整您的视图基于SelectedItem.Tag
:
<r:Ribbon x:Name="PART_Ribbon" ...>
<r:RibbonTab Tag="{Binding HomeViewModel}" ... />
</r:Ribbon>
<Grid>
<ContentControl Content="{Binding SelectedItem.Tag,
ElementName=PART_Ribbon}" />
</Grid>