1

Fluent リボンを使用していますが、この問題に行き詰まりました。いくつかのリボン タブ項目を追加し、ユーザーがそれらをクリックした場合に何かを実行したいと考えました。

<Fluent:RibbonTabItem Name="TabItem" MouseLeftButtonDown="TabItem_MouseLeftButtonDown">
    <Fluent:RibbonGroupBox Header="">
        <Fluent:Button/>
        <Fluent:Button/>
    </Fluent:RibbonGroupBox>
    <Fluent:RibbonGroupBox Header="">
        <Fluent:Button Name="General" Header="General" Click="General_Click" />
    </Fluent:RibbonGroupBox>
</Fluent:RibbonTabItem>

これはコードの簡略化された部分です...ただし、[一般] ボタンをクリックすると、期待どおりにクリック イベントが発生しますが、リボン タブ項目をクリックしても何も起こりません。ここに両方の​​イベントハンドラがあります

 private void TabItem_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        //some code        
    }

 private void General_Click(object sender, RoutedEventArgs e)
    {
        //more code           
    }

このイベントを発生させる方法を知っている人はいますか?

4

2 に答える 2

2

思ったより簡単です。RibbonクラスにはSelectedTabChangedイベントがあります。

タブを変更するたびに 2 回発生します。

  • System.Windows.Controls.SelectionChangedEventArgsに古いタブが初めて含まれるRemovedItems
  • に新しいタブが含まれている 2 回目AddedItems

これらのプロパティは両方ともobject[].

プロパティ ウィンドウで検索するか、IntelliSense に検索させてください ;)

于 2012-05-17T15:53:57.120 に答える
1

リボン オブジェクトで SelectionChanged イベントを試してください。

于 2011-06-08T04:33:14.867 に答える