RibbonControlsLibrary - 不同的行为选项卡导航

时间:2011-12-14 10:32:07

标签: c# wpf ribbon ribboncontrolslibrary

功能区控件对Tab键顺序有不同的行为。

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

如果用户单击第二个选项卡并单击“选项卡”按钮,功能区会将所选选项卡更改为第一个选项卡。但是,如果用户通过单击“选项卡”按钮选择第二个选项卡,然后单击“选项卡”按钮,则功能区不会更改选定的选项卡。我该如何解决?

1 个答案:

答案 0 :(得分:0)

我能想到的唯一方法是捕捉“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;
}