Pergunta

Como faço para configurar guia ordenação em WPF? Eu tenho um ItemsControl com alguns itens expandida e alguns desmoronou e gostaria de ignorar os desabaram quando estou tabulação.

Todas as idéias?

Foi útil?

Solução

Você pode ignorar elementos na sequência guia, definindo KeyboardNavigation.IsTabStop no elemento em XAML.

KeyboardNavigation.IsTabStop="False"

Você pode configurar um gatilho que iria alternar esta propriedade com base no estado expandido.

Outras dicas

Se você quiser definir explicitamente a ordenação de guia para os elementos no formulário, a seguinte propriedade anexada é suposto para ajudar:

<Control KeyboardNavigation.TabIndex="0" ... />

Digo "deveria ajudar" como eu não tê-lo encontrado muito confiável embora eu provavelmente precisa ler mais sobre como ele se destina a ser utilizado. Eu só postar dessa metade resposta cozido porque ninguém mencionou essa propriedade.


Note que no Win RT, a propriedade é apenas TabIndex="0".

<Control KeyboardNavigation.TabIndex="0" ... /> funciona perfeitamente bem ... Por exemplo -

<ComboBox Height="23" 
          Margin="148,24,78,0" 
          Name="comboBoxDataSet"
          VerticalAlignment="Top"
          SelectionChanged="comboBoxDestMarketDataSet_SelectionChanged"
          DropDownOpened="comboBoxDestMarketDataSet_DropDownOpened"
          KeyboardNavigation.TabIndex="0" />
<ComboBox Height="23" 
          Margin="148,56,78,0" 
          Name="comboBoxCategory" 
          VerticalAlignment="Top" 
          SelectionChanged="comboBoxDestCategory_SelectionChanged"
          DropDownOpened="comboBoxDestCategory_DropDownOpened"
          KeyboardNavigation.TabIndex="1" />

Será que permitem navegar através destas duas caixas de combinação usando a tecla TAB.

Eu acho que é uma solução muito mais fácil aqui, no topo dentro de seu controle ou janela ou qualquer outra coisa, você pode adicionar:

KeyboardNavigation.TabNavigation="Cycle"

Este também de forma automática ignora as abas colapsadas.

Outra alternativa que tem trabalhado para mim no passado é simplesmente remover todas as declarações TabIndex explícitas, e deixar que os controles usam a ordem que eles estão declarados no trabalho XAML sua magia.

Isto, naturalmente, pode exigir que você para reordenar seus controles. Mas esta é uma simples operação de copiar e colar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top