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

时间:2010-08-20 07:34:00

标签: wpf ribbon

我的视图中有一个名为“功能区”的功能区,其中包含两个选项卡,如下面的示例代码所示。我想点击Button1会打开Tab2,反之亦然。我该怎么做?

<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 个答案:

答案 0 :(得分:5)

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

private void SwitchToTab1(object sender, MouseButtonEventArgs e)
        {
            ribbontab1.IsSelected = true;
        }
    private void SwitchToTab2(object sender, MouseButtonEventArgs e)
        {
            ribbontab2.IsSelected = true;
        }

答案 1 :(得分:2)

找到我自己:如果您的功能区控件名为“Ribbon”,请在按钮的单击处理程序中调用它:

Ribbon.SelectedIndex = indexOfTab;

希望这对我有同样问题的人有所帮助。

答案 2 :(得分:2)

简单,使用:

ribbonName.Tabs[TabNumber].IsSelected=true;

答案 3 :(得分:1)

我的观点是纯粹与布局相关的内容,所以我会在按钮上附加一个事件处理程序来更改SelectedTab。