C# RibbonControlsLibrary-不同行为选项卡导航

C# RibbonControlsLibrary-不同行为选项卡导航,c#,wpf,ribbon,ribboncontrolslibrary,C#,Wpf,Ribbon,Ribboncontrolslibrary,功能区控件对选项卡顺序具有不同的行为 <r:Ribbon> <r:RibbonTab Header="Header 1"> <r:RibbonGroup Header="Group 1"> <r:RibbonButton Label="Button1" LargeImageSource="button.png" /> </r:RibbonGroup> </r:

功能区控件对选项卡顺序具有不同的行为

<r:Ribbon>
    <r:RibbonTab Header="Header 1">
        <r:RibbonGroup Header="Group 1">
            <r:RibbonButton Label="Button1" LargeImageSource="button.png" />
        </r:RibbonGroup>
    </r:RibbonTab>
    <r:RibbonTab Header="Header 2">
        <r:RibbonGroup Header="Group 2">
            <r:RibbonButton Label="Button2" LargeImageSource="button.png" />
        </r:RibbonGroup>
    </r:RibbonTab>
</r:Ribbon>


如果用户单击第二个选项卡并单击“选项卡”按钮,功能区会将所选选项卡更改为第一个选项卡。但如果用户通过单击“选项卡”按钮选择第二个选项卡,然后单击“选项卡”按钮,则Ribbon不会更改所选选项卡。如何修复它?

我能想到的唯一方法是捕获“Tab”键事件并在功能区中手动导航

Xaml:

<r:Ribbon PreviewKeyDown="Ribbon_PreviewKeyDown" x:Name="ribbon">
private void Ribbon_PreviewKeyDown(object sender, KeyEventArgs e)
{
  if (e.Key == Key.Tab)
  {

    if (ribbon.SelectedIndex ==  ribbon.Items.Count -1)
    {
      ribbon.SelectedIndex = 0;
    }
    else
    {
      ribbon.SelectedIndex++;
    }
  }
  e.Handled = true;
}

不,还有一个问题。如果用户通过单击“选项卡”按钮选择选项卡,然后使用鼠标选择选项卡,然后在“选项卡”按钮上单击几次,则当前选择的选项卡将切换到“选项卡”按钮选择的选项卡。我不想要交换标签。您可以添加更多的Ribbontab来查看问题。Sry“Tab”按钮的确切含义是什么?是TabKey还是您有某种导航按钮来切换选项卡?我是说键盘上的tab按钮您确定它不仅仅是循环到下一个TabStop?当您按TabKey导航到tab时,一切正常,正如预期的那样。但当您单击另一个选项卡并按TabKey几次时,它会返回到上一个选项卡。