Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to switch ribbon tab programmatically?

Tags:

wpf

ribbon

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>
like image 446
Nam G VU Avatar asked Aug 20 '10 07:08

Nam G VU


2 Answers

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;
        }
like image 137
Mark Avatar answered Sep 22 '22 20:09

Mark


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.

like image 38
Nam G VU Avatar answered Sep 22 '22 20:09

Nam G VU