Bagaimana cara mengatur pemesanan tab di WPF? Saya memiliki ItemsControl dengan beberapa item diperluas dan beberapa runtuh dan ingin melewatkan item yang diciutkan saat saya melakukan tab.
Ada ide?
Bagaimana cara mengatur pemesanan tab di WPF? Saya memiliki ItemsControl dengan beberapa item diperluas dan beberapa runtuh dan ingin melewatkan item yang diciutkan saat saya melakukan tab.
Ada ide?
Jawaban:
Anda dapat melewati elemen dalam urutan tab dengan menyetel KeyboardNavigation.IsTabStop pada elemen di XAML.
KeyboardNavigation.IsTabStop="False"
Anda dapat menyiapkan pemicu yang akan mengalihkan properti ini berdasarkan status yang diperluas.
Jika Anda ingin secara eksplisit mengatur urutan tab untuk elemen dalam formulir Anda, properti terlampir berikut seharusnya membantu:
<Control KeyboardNavigation.TabIndex="0" ... />
Saya mengatakan "seharusnya membantu" karena saya belum menganggapnya sangat dapat diandalkan meskipun saya mungkin perlu membaca lebih lanjut tentang bagaimana hal itu dimaksudkan untuk digunakan. Saya hanya memposting jawaban setengah matang ini karena tidak ada orang lain yang menyebutkan properti ini.
Perhatikan bahwa di Win RT, propertinya hanya TabIndex="0"
.
<DockPanel Panel.ZIndex="2">
membantu untuk memesan titik masuk panel tingkat atas.
<Control KeyboardNavigation.TabIndex="0" ... />
Bekerja dengan baik ... Misalnya-
<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" />
Akan memungkinkan Anda untuk menavigasi melalui dua kotak kombo ini menggunakan tombol TAB.
Alternatif lain yang berhasil bagi saya di masa lalu adalah dengan hanya menghapus semua TabIndex
pernyataan eksplisit , dan membiarkan kontrol menggunakan urutan yang dideklarasikan di XAML bekerja dengan ajaib.
Ini, tentu saja, mungkin mengharuskan Anda untuk menyusun ulang kendali Anda. Tapi ini adalah operasi salin-tempel sederhana.
Anda dapat menggunakan KeyboardNavigation.TabNavigation = "Tidak Ada" untuk melewati Tabbing sepenuhnya untuk kontrol tertentu.