2010-08-20 49 views
5

Tôi có một dải ruy băng trong chế độ xem có tên 'ribbon' có 2 tab bên dưới mã mẫu. Tôi muốn Button1 khi nhấp vào sẽ mở Tab2 và ngược lại. Làm thế nào tôi sẽ làm điều này?Làm cách nào để chuyển đổi tab theo chương trình?

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

Hy vọng ai đó sẽ giúp tôi. Nam.

+0

Có lẽ thấy http://stackoverflow.com/questions/7929646/how-to- programmaticaly-select-a-tabitem-in-wpf-tabcontrol/25960172 # 25960172? –

Trả lời

5

Bạn chỉ cần kích hoạt các tài sản của các tab của bạn

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

RibbonTab.IsSelected = true/false là những gì tôi đang tìm kiếm. Cảm ơn bạn. –

1

Tôi ý kiến ​​của tôi đó là hoàn toàn bố trí công cụ liên quan vì vậy tôi sẽ đính kèm một eventhandler cho các nút để thay đổi SelectedTab.

2

Tìm thấy bản thân mình: Nếu kiểm soát băng của bạn có tên là 'Ribbon' sau đó gọi này trong handler click của nút bấm của bạn:

Ribbon.SelectedIndex = indexOfTab; 

Hy vọng rằng sẽ giúp bất cứ ai có cùng một vấn đề với tôi.

2

Simple IsSelected, sử dụng:

ribbonName.Tabs[TabNumber].IsSelected=true; 
Các vấn đề liên quan