WPF'de sekme sırasını nasıl ayarlayabilirim? Bazı öğeleri genişletilmiş ve bazıları daraltılmış bir ItemsControl'üm var ve sekme yaparken daraltılmış olanları atlamak istiyorum.
Herhangi bir fikir?
WPF'de sekme sırasını nasıl ayarlayabilirim? Bazı öğeleri genişletilmiş ve bazıları daraltılmış bir ItemsControl'üm var ve sekme yaparken daraltılmış olanları atlamak istiyorum.
Herhangi bir fikir?
Yanıtlar:
XAML öğesinde KeyboardNavigation.IsTabStop ayarlayarak sekme sırasındaki öğeleri atlayabilirsiniz .
KeyboardNavigation.IsTabStop="False"
Bu özelliği genişletilmiş duruma göre değiştirecek bir tetikleyici ayarlayabilirsiniz.
Formunuzdaki öğeler için sekme sıralamasını açıkça ayarlamak istiyorsanız, aşağıdaki ekli özelliğin yardımcı olması beklenir:
<Control KeyboardNavigation.TabIndex="0" ... />
Çok güvenilir bulmadığım için "yardım etmeliyim" diyorum, ancak muhtemelen nasıl kullanılması gerektiği hakkında daha fazla okumam gerekiyor. Ben sadece bu yarım pişmiş cevabı gönderiyorum çünkü kimse bu özellikten bahsetmedi.
Win RT'de özelliğin adil olduğunu unutmayın TabIndex="0"
.
<DockPanel Panel.ZIndex="2">
üst düzey panellerin sipariş giriş noktasına yardımcı olur.
<Control KeyboardNavigation.TabIndex="0" ... />
Mükemmel çalışıyor ... Örneğin-
<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" />
SEKME tuşunu kullanarak bu iki birleşik giriş kutuları arasında gezinmenize izin verecektir.
Geçmişte benim için işe yarayan bir başka alternatif, tüm açık TabIndex
ifadeleri ve kontrollerin XAML'de bildirildikleri sırayı kullanmalarına izin vermektir.
Bu, elbette, kontrollerinizi yeniden düzenlemenizi gerektirebilir. Ancak bu basit bir kopyala-yapıştır işlemidir.
Belirli bir kontrol için Sekmeyi tamamen atlamak için KeyboardNavigation.TabNavigation = "None" kullanabilirsiniz.