【发布时间】:2011-11-11 16:02:57
【问题描述】:
在使用 WPF 选项卡控件时,是否可以分配键盘快捷键以在控件的选项卡之间移动?
或者,是否可以分配tabIndex,使得当用户到达第一个选项卡中的最后一个字段并再次按下键盘选项卡键时,下一个选项卡中的第一个控件获得焦点?
【问题讨论】:
在使用 WPF 选项卡控件时,是否可以分配键盘快捷键以在控件的选项卡之间移动?
或者,是否可以分配tabIndex,使得当用户到达第一个选项卡中的最后一个字段并再次按下键盘选项卡键时,下一个选项卡中的第一个控件获得焦点?
【问题讨论】:
对于未来的读者,我发现 HowTo add an ALT+ shortcut key to a TabItem in WPF? 很有帮助(如果您想为每个选项卡分配一个 Alt+<key> 热键):
以下示例应该足以让您入门。 基本上,您需要使用 Xml 元素创建标题 属性用法,并指定 AccessText,用字母 在下划线之后指定要分配的热键。
<Window x:Class="WpfApplication8.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<TabControl>
<TabItem>
<TabItem.Header>
<AccessText Text="Tab_One"/>
</TabItem.Header>
</TabItem>
<TabItem>
<TabItem.Header>
<AccessText Text="Tab_Two"/>
</TabItem.Header>
</TabItem>
</TabControl>
</Grid>
</Window>
【讨论】:
Text="{Binding Source=TabTitle, StringFormat={}{0} (Alt+_1)}"
已经有一个键盘快捷键:Ctrl+Tab(Ctrl+Shift+Tab 为反向)
如果您想添加其他快捷方式,可以将KeyBinding 添加到TabControl.InputBindings,但您可能需要创建自己执行切换的命令。
【讨论】: