ribboncontrollibrary -不同行为标签导航

本文关键字:标签 导航 ribboncontrollibrary | 更新日期: 2023-09-27 18:17:54

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

<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将选中的选项卡更改为第一个选项卡。但是如果用户通过点击"选项卡"按钮选择第二个选项卡,然后点击"选项卡"按钮,Ribbon不会改变选中的选项卡。我该怎么修理它?

ribboncontrollibrary -不同行为标签导航

我能想到的唯一方法是捕捉"Tab"键事件并手动在Ribbon中导航。

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