Сочетание клавиш между вкладками в элементе управления вкладками

#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 , возможно, вам потребуется создать команду, которая выполняет переключение самостоятельно.