code

WPF에서 탭 순서 설정

codestyles 2020. 9. 7. 08:10
반응형

WPF에서 탭 순서 설정


WPF에서 탭 순서를 어떻게 설정합니까? 일부 항목이 확장되고 일부가 축소 된 ItemsControl이 있으며 탭할 때 축소 된 항목을 건너 뛰고 싶습니다.

어떤 아이디어?


XAML의 요소에 KeyboardNavigation.IsTabStop설정하여 탭 시퀀스의 요소를 건너 뛸 수 있습니다 .

KeyboardNavigation.IsTabStop="False"

확장 된 상태를 기반으로이 속성을 토글하는 트리거를 설정할 수 있습니다.


양식의 요소에 대한 탭 순서를 명시 적으로 설정하려면 다음과 같은 연결된 속성이 도움이 될 것입니다.

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

나는 그것이 어떻게 사용되도록 의도되었는지에 대해 더 많이 읽어야 할 필요가있을지라도 내가 그것이 매우 신뢰할 수있는 것을 찾지 못했기 때문에 "도움이 필요하다"라고 말한다. 아무도이 속성을 언급하지 않았기 때문에 나는이 반쯤 구운 답변 만 게시합니다.


Win RT에서 속성은 TabIndex="0".


<Control KeyboardNavigation.TabIndex="0" ... /> 완벽하게 잘 작동합니다 ... 예를 들어-

<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" />

TAB 키를 사용하여이 두 콤보 상자를 탐색 할 수 있습니다.


여기에 훨씬 더 쉬운 솔루션이 있다고 생각합니다. 컨트롤이나 창 또는 기타 항목의 맨 위에 다음을 추가 할 수 있습니다.

KeyboardNavigation.TabNavigation="Cycle"

이것은 또한 접힌 탭을 자동으로 무시합니다.


과거에 저에게 도움이 된 또 다른 대안은 모든 명시 적 TabIndex을 간단히 제거 하고 컨트롤이 XAML에서 선언 된 순서를 사용하도록하는 것입니다.

물론 컨트롤을 다시 정렬해야 할 수도 있습니다. 그러나 이것은 간단한 복사-붙여 넣기 작업입니다.

참고 URL : https://stackoverflow.com/questions/359758/setting-tab-order-in-wpf

반응형