WPF : 스타일이 지정된 목록 상자에서 포커스가있는 항목 주위의 점선 테두리 제거


84

사용자 지정 controlIemplate가있는 가로 목록 상자가 있습니다. 선택한 항목에 초점이 맞춰지면 점선 프레임이 표시됩니다. 누구든지 그것을 제거하는 방법을 알고 있습니까?

답변:


164

각 ListBoxItem의 FocusVisualStyle을 null로 설정해야합니다. 단계는 다음과 같습니다.

1) ListBox에 대한 ItemContainerStyle 만들기

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

2) 해당 스타일을 Listbox로 설정

<ListBox ItemContainerStyle="{DynamicResource ListBoxItemStyle1}"

5
이 대답은 훌륭하게 작동하지만 여기에 큰 머리가 있습니다.이 방법을 사용하면 컨트롤 이 Windows 8에 초점을 맞춘 표시기를 표시하지 않습니다! FocusVisualStyleWindows 7 에서 비활성화 된 경우 Buttons와 같은 컨트롤은 여전히 ​​전체적으로 파란색으로 강조 표시되지만 Windows 8에서는 그룹의 어떤 컨트롤에 초점이 맞춰져 있는지 알 수 없습니다.
Evan Wondrasek

알아 둘만 한. 이 경우 목표는 더 많은 컨트롤이 포함 된 목록 항목의 시각적 스타일을 제거하는 것이 었습니다. 자식 컨트롤은 여전히 ​​포커스 스타일을 그대로 유지합니다.
Vegar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.