代码之家  ›  专栏  ›  技术社区  ›  Nam G VU

如何以编程方式切换功能区选项卡?

  •  5
  • Nam G VU  · 技术社区  · 14 年前

    我的视图中有一个名为“ribbon”的功能区,它有两个选项卡,如下示例代码所示。我想按钮1时,点击将打开标签2,反之亦然。我该怎么做?

    <ribbon:Ribbon x:Name="ribbon" HelpPaneContent="{x:Static data:WordModel.Help}">
        <ribbon:RibbonTab Header="Tab1" ... >
            <ribbon:RibbonGroup x:Name="Button1" >
                <ribbon:RibbonButton Clicked="SwitchToTab2" />
            </ribbon:RibbonGroup>
        </ribbon:RibbonTab>
    
        <ribbon:RibbonTab Header="Tab2" ... >
            <ribbon:RibbonGroup x:Name="Button2" >
                <ribbon:RibbonButton Clicked="SwitchToTab1" />
            </ribbon:RibbonGroup>
        </ribbon:RibbonTab>
    ... 
    </ribbon:Ribbon>
    
    4 回复  |  直到 6 年前
        1
  •  5
  •   Mark    13 年前

    您只需触发选项卡的IsSelected属性

    private void SwitchToTab1(object sender, MouseButtonEventArgs e)
            {
                ribbontab1.IsSelected = true;
            }
        private void SwitchToTab2(object sender, MouseButtonEventArgs e)
            {
                ribbontab2.IsSelected = true;
            }
    
        2
  •  2
  •   Nam G VU    14 年前

    发现我自己:如果您的ribbon控件名为“ribbon”,则在按钮的单击处理程序中调用此控件:

    Ribbon.SelectedIndex = indexOfTab;
    

        3
  •  2
  •   Tim Cooper    12 年前

    简单,使用:

    ribbonName.Tabs[TabNumber].IsSelected=true;
    
        4
  •  1
  •   Wouter Janssens    14 年前

    我的意见是纯粹的布局相关的东西,所以我会附加一个事件处理程序的按钮,以改变选中的标签。