Nam G VU
Nam G VU

Reputation: 35374

How to switch ribbon tab programmatically?

I have a ribbon in my view named 'ribbon' that have 2 tabs as below sample codes. I want Button1 when clicked will open Tab2 and vice versa. How would I do this?

<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>

Upvotes: 5

Views: 11339

Answers (4)

Datnt6
Datnt6

Reputation: 21

Simple, using:

ribbonName.Tabs[TabNumber].IsSelected=true;

Upvotes: 2

Mark
Mark

Reputation: 3283

You only have to trigger the IsSelected property of your tabs

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

Upvotes: 5

Nam G VU
Nam G VU

Reputation: 35374

Found myself: If your ribbon control named 'Ribbon' then call this in your button's clicked handler:

Ribbon.SelectedIndex = indexOfTab;

Hope that would help anyone with the same problem with me.

Upvotes: 3

Wouter Janssens
Wouter Janssens

Reputation: 1613

I my opinion that is purely layout related stuff so I would attach an eventhandler to the buttons to change the SelectedTab.

Upvotes: 1

Related Questions