0

我有一个使用Microsoft.Windows.Controls.Ribbon. 我可以通过Grid.Row标签设置视图:

    </ribbon:Ribbon>
    <Grid Grid.Row="1">
      <!-- View's content here -->
    </Grid>
  </Grid>
</ribbon:RibbonWindow>

问:如何根据所选功能区选项卡更改视图?

4

1 回答 1

0

你有几个选择。

  1. 挂钩SelectionChanged事件并交换您的视图内容。如果您使用的是 Prism,您可能可以创建一个SelectorRegionAdapter来为您执行此操作。
  2. 您可以绑定到Ribbon.SelectedValue(设置SelectedValuePath为 say Label)并提供DataTrigger处理每个选项卡名称的 a。
  3. 您可以在属性RibbonWindow中放置您关心的每个视图模型的实例(假设您的数据上下文具有您需要的每个视图模型),并根据以下内容调整您的视图:RibbonTab.TagSelectedItem.Tag

    <r:Ribbon x:Name="PART_Ribbon" ...>
        <r:RibbonTab Tag="{Binding HomeViewModel}" ... />
    </r:Ribbon>
    <Grid>
        <ContentControl Content="{Binding SelectedItem.Tag,
                                          ElementName=PART_Ribbon}" />
    </Grid>
    
于 2012-09-21T13:59:21.747 回答