Как программно переключить вкладку ленты? - PullRequest
5 голосов
/ 20 августа 2010

В моем представлении есть лента с названием «лента», на которой есть 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>

Ответы [ 4 ]

5 голосов
/ 20 августа 2010

Вам нужно только активировать свойство IsSelected ваших вкладок

private void SwitchToTab1(object sender, MouseButtonEventArgs e)
        {
            ribbontab1.IsSelected = true;
        }
    private void SwitchToTab2(object sender, MouseButtonEventArgs e)
        {
            ribbontab2.IsSelected = true;
        }
2 голосов
/ 10 марта 2012

Простой, используя:

ribbonName.Tabs[TabNumber].IsSelected=true;
2 голосов
/ 20 августа 2010

Я нашел себя: Если ваш ленточный элемент управления назван «Лента», тогда вызовите его в обработчике нажатых кнопок:

Ribbon.SelectedIndex = indexOfTab;

Надеюсь, что это поможет любому, кто столкнется с той же проблемой со мной.

1 голос
/ 20 августа 2010

По моему мнению, это чисто связанные с макетом вещи, поэтому я бы прикрепил обработчик событий к кнопкам для изменения SelectedTab.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...