使用RibbonControlsLibrary(3.5.41019.1),“KeyTip”无法正常工作。我创建了一个简单的RibbonWindow:
我在设计模式(VS2010)中测试了KeyTip ,一切都按预期工作。但是,当我将项目构建为Windows应用程序时,会发生以下情况:
我试图创建一个干净的WpfRibbonProject并做同样的事情,然后它出于某种原因工作。无工作项目是 Forms 和 WPF 的混合,并且在WPF窗口之前显示一个表单。这可能是问题吗?我能看出为什么会出现问题?
源代码:
<ribbon:RibbonTab x:Name="HomeTab"
Header="Home" KeyTip="H">
<ribbon:RibbonGroup x:Name="Group1"
Header="Group1">
<ribbon:RibbonButton Label="Hej" KeyTip="T" />
</ribbon:RibbonGroup>
</ribbon:RibbonTab>
<ribbon:RibbonTab Header="Tab1">
<ribbon:RibbonGroup Header="Min grupp">
<ribbon:RibbonButton Label="Test" />
<ribbon:RibbonSplitButton Label="Testen">
<ribbon:RibbonMenuItem Header="Jaha" />
</ribbon:RibbonSplitButton>
</ribbon:RibbonGroup>
</ribbon:RibbonTab>
<ribbon:RibbonTab Header="Tab2" KeyTip="2" />
<ribbon:RibbonTab Header="Tab3" KeyTip="3" />
</ribbon:Ribbon>
答案 0 :(得分:1)
我设法通过在显示WPF窗口之前添加以下代码行来解决问题:
System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(this);
如果你在同一个项目中混合使用WinForms和WPF窗口,至少如果在WPF窗口之前显示WinForm,这是必要的。
答案 1 :(得分:0)
在功能区cotrol中添加属性:KeyboardNavigation.ControlTabNavigation
<ribbon:Ribbon DockPanel.Dock="Top" SelectedIndex="1" KeyboardNavigation.ControlTabNavigation="Contained">
这对我有用。