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

5

我在视图中有一个名为“ribbon”的选项卡,其中包含2个标签,如下所示的示例代码。当单击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>

也许可以查看https://dev59.com/PWsz5IYBdhLWcg3wZm3Q#25960172? - Adrian Ratnapala
4个回答

5
只需触发选项卡的IsSelected属性即可。
private void SwitchToTab1(object sender, MouseButtonEventArgs e)
        {
            ribbontab1.IsSelected = true;
        }
    private void SwitchToTab2(object sender, MouseButtonEventArgs e)
        {
            ribbontab2.IsSelected = true;
        }

我需要的是ribbonTab.IsSelected = true/false。谢谢。 - Nam G VU

3

如果你的Ribbon控件名称为“Ribbon”,那么在按钮的单击处理程序中调用以下代码:

Ribbon.SelectedIndex = indexOfTab;

希望这能帮助到和我有相同问题的人。

2
简单易用:

使用方法:

ribbonName.Tabs[TabNumber].IsSelected=true;

1

我认为这纯粹是与布局相关的问题,因此我会将事件处理程序附加到按钮上以更改所选选项卡。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接