WPF: Stili liste kutusunda odaklanılan öğenin etrafındaki noktalı kenarlığı kaldırın


85

Özel bir kontrol şablonuna sahip yatay bir liste kutum var. Seçili öğe odaklandığında noktalı bir çerçeve alır. Ondan nasıl kurtulacağını bilen var mı?

Yanıtlar:


165

Her ListBoxItem'in FocusVisualStyle değerini null olarak ayarlamanız gerekir. Adımlar feryat

1) ListBox için ItemContainerStyle oluşturun

<Style x:Key="ListBoxItemStyle1" TargetType="{x:Type ListBoxItem}"> 
   <Setter Property="FocusVisualStyle" Value="{x:Null}"/> ....

2) Bu stili Listbox olarak ayarlayın

<ListBox ItemContainerStyle="{DynamicResource ListBoxItemStyle1}"

5
Bu cevap harika çalışıyor, ancak burada büyük bir uyarı var: Bu yöntemi kullanırsanız, kontrolleriniz Windows 8'e odaklanmış herhangi bir gösterge göstermeyecektir! İle FocusVisualStyleWindows 7'de engelliler, Düğmeler gibi kontroller hala mavi genel vurguyu korur, ancak Windows 8'de o odaklanmıştır bir grupta hangi kontrol söylemek tamamen imkansız.
Evan Wondrasek

Bunu bildiğim iyi oldu. Bu durumda amaç, daha fazla kontrol içeren bir liste öğesinin görsel stilini kaldırmaktı. Alt kontrollerin odak stili bozulmadan kalacaktır.
Vegar

Ayrıca FocusVisualStyle="{x:Null}"çoğu durumda da ekleyebilirsiniz .
Adephx
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.