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几次时,它会返回到上一个选项卡。