Como eu defino a ordem das guias no WPF? Eu tenho um ItemsControl com alguns itens expandidos e outros recolhidos e gostaria de pular os recolhidos quando estou tabulando.
Alguma ideia?
.net
wpf
tab-ordering
keyboard-navigation
Romano
fonte
fonte
Respostas:
Você pode ignorar elementos na sequência de guias definindo KeyboardNavigation.IsTabStop no elemento em XAML.
Você pode configurar um gatilho que alterne essa propriedade com base no estado expandido.
fonte
Se você deseja definir explicitamente a ordem das guias para os elementos do formulário, a seguinte propriedade anexada deve ajudar:
Digo "supostamente ajuda" porque não o achei muito confiável, embora provavelmente precise ler mais sobre como ele deve ser usado. Eu só posto esta resposta incompleta porque ninguém mais mencionou esta propriedade.
Observe que no Win RT, a propriedade é justa
TabIndex="0"
.fonte
<DockPanel Panel.ZIndex="2">
ajuda a solicitar o ponto de entrada dos painéis de nível superior.<Control KeyboardNavigation.TabIndex="0" ... />
Funciona perfeitamente bem ... Por exemplo-Permitirá que você navegue por essas duas caixas de combinação usando a tecla TAB.
fonte
Acho que há uma solução muito mais fácil aqui, no topo de seu controle ou janela ou qualquer outra coisa, você pode adicionar:
Isso também ignora automaticamente as guias recolhidas.
fonte
Outra alternativa que funcionou para mim no passado é simplesmente remover todas as
TabIndex
instruções explícitas e deixar os controles usarem a ordem em que são declarados no XAML para fazer sua mágica.Isso, é claro, pode exigir que você reordene seus controles. Mas esta é uma operação simples de copiar e colar.
fonte
Você pode usar KeyboardNavigation.TabNavigation = "None" para pular completamente a Tabulação para controle específico.
fonte