2012-04-12 5 views
0

Microsoft Ribbonのどのタブがコンテンツプレゼンテーションを適宜変更するかを教えてください。Microsoft Ribbonでアクティブなタブが変更されたかどうかを検出します。

どうすればいいですか?

public MainWindow() 
    { 
     InitializeComponent(); 

     // Insert code required on object creation below this point. 
     new Thread(() => 
     { 
      int lastIndex = int.MinValue; 

      while (true) 
      { 
       Thread.Sleep(100); 

       int newIndex = -1; 
       this.Dispatcher.Invoke(DispatcherPriority.Normal, 
        new Action(() => 
        { 
         newIndex = Ribbon.SelectedIndex; 
        })); 

       if (newIndex != lastIndex) 
       { 
        lastIndex = newIndex; 
        var index = lastIndex; 
        this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart) (() =>OnCurrentTabChanged(index))); 
       } 
     }){ IsBackground=true}.Start(); 
    } 

    void OnCurrentTabChanged(int tabIndex) 
    { 

    } 

が、これを行うには良い方法があるに違いありません。

は、ここで私が思いついたものです。ある?

答えて

2

リボンはItemsControlから継承されます。その結果、SelectedItemプロパティにバインドすると、現在のタブの変更に関する通知が表示されます。

+0

優れたアイデア!ありがとう! –

関連する問題