2010-08-20 34 views
5

Tengo una cinta en mi vista llamada 'cinta' que tiene 2 pestañas como los códigos de muestra a continuación. Quiero que Button1, al hacer clic, abra Tab2 y viceversa. ¿Cómo haría esto?¿Cómo cambiar la pestaña programáticamente?

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

Espero que alguien me ayude. Nam.

+0

Tal vez ver http://stackoverflow.com/questions/7929646/how-to- programmaticaly-select-a-tabitem-in-wpf-tabcontrol/25960172 # 25960172? –

Respuesta

5

es suficiente con activar la propiedad IsSelected de las pestañas

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

La cintaTab.IsSelected = true/false es lo que estoy buscando. Gracias. –

1

Mi opinión es puramente cosas relacionadas con el diseño, así que adjuntaría un controlador de eventos a los botones para cambiar el SelectedTab.

2

mismo Encontrado: Si el control de la cinta nombrado 'cinta' a continuación, llamar a este hecho clic en el manejador de su botón:

Ribbon.SelectedIndex = indexOfTab; 

esperanza de que ayudaría a cualquier persona con el mismo problema conmigo.

2

simples, usando:

ribbonName.Tabs[TabNumber].IsSelected=true; 
Cuestiones relacionadas