#wpf #tabs
#wpf #вкладки
Вопрос:
При использовании элементов управления вкладками WPF есть ли способ назначить сочетание клавиш для перемещения между вкладками в элементе управления?
Или можно ли назначить tabIndex
таким образом, чтобы, когда пользователь достигает последнего поля на первой вкладке и снова нажимает клавишу tab на клавиатуре, первый элемент управления на следующей вкладке получал фокус?
Ответ №1:
Для будущих читателей я нашел, как добавить сочетание клавиш ALT к элементу TabItem в 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>
Комментарии:
1. Приятно! И если вам нужно, чтобы ваш заголовок был частично динамичным
Text="{Binding Source=TabTitle, StringFormat={}{0} (Alt _1)}"
Ответ №2:
Уже есть сочетание клавиш: Ctrl Tab (Ctrl Shift Tab для обратного)
Если вы хотите добавить дополнительные сочетания клавиш, вы можете добавить KeyBinding
в TabControl.InputBindings
, возможно, вам потребуется создать команду, которая выполняет переключение самостоятельно.