bestsource

WPF에서의 탭 순서 설정

bestsource 2023. 4. 19. 23:19
반응형

WPF에서의 탭 순서 설정

WPF에서 탭 순서를 설정하려면 어떻게 해야 하나요?ItemsControl에서 일부 항목을 확장하고 일부 항목을 접어서 탭으로 이동할 때 접힌 항목을 건너뜁니다.

좋은 생각 있어요?

양식의 요소에 대한 탭 순서를 명시적으로 설정하려면 다음 첨부 속성이 도움이 됩니다.

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

사용방법에 대해 더 자세히 읽어봐야 할 것 같은데, 별로 신뢰성이 없다고 생각했기 때문에 "도와줄 수 있다고 가정합니다"라고 말합니다.아무도 이 부동산에 대해 언급하지 않았기 때문에 나는 이 어설픈 답변을 올렸을 뿐이다.


Win RT에서는 속성이TabIndex="0".

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

KeyboardNavigation.IsTabStop="False"

확장된 상태를 기준으로 이 속성을 전환하도록 트리거를 설정할 수 있습니다.

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

이렇게 하면 접힌 탭도 자동으로 무시됩니다.

과거에 나에게 효과가 있었던 또 다른 대안은 단순히 모든 명시적인 것을 제거하는 것이다.TabIndexXAML에서 선언된 순서를 사용하여 제어가 마법을 작동하도록 합니다.

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

키보드 탐색을 사용할 수 있습니다.TabNavigation="None"을 눌러 특정 제어를 위해 태빙을 완전히 건너뜁니다.

언급URL : https://stackoverflow.com/questions/359758/setting-tab-order-in-wpf

반응형