我有一个使用Microsoft.Windows.Controls.Ribbon
. 我可以通过Grid.Row
标签设置视图:
</ribbon:Ribbon>
<Grid Grid.Row="1">
<!-- View's content here -->
</Grid>
</Grid>
</ribbon:RibbonWindow>
问:如何根据所选功能区选项卡更改视图?
我有一个使用Microsoft.Windows.Controls.Ribbon
. 我可以通过Grid.Row
标签设置视图:
</ribbon:Ribbon>
<Grid Grid.Row="1">
<!-- View's content here -->
</Grid>
</Grid>
</ribbon:RibbonWindow>
问:如何根据所选功能区选项卡更改视图?
你有几个选择。
SelectionChanged
事件并交换您的视图内容。如果您使用的是 Prism,您可能可以创建一个SelectorRegionAdapter
来为您执行此操作。Ribbon.SelectedValue
(设置SelectedValuePath
为 say Label
)并提供DataTrigger
处理每个选项卡名称的 a。您可以在属性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>