2012-12-04 2 views
3

의 요소에 초점 국경을 제거하는 방법,이처럼 보이는 사용자 정의 버튼 템플릿을 생성 :는 WPF에서 XAML

<ToggleButton x:Name="button" HorizontalAlignment="Left" Margin="0,0,0,0" > 
     <ToggleButton.Template> 
      <ControlTemplate TargetType="{x:Type ToggleButton}"> 
       <Grid Background="#01FFFFFF" Width="62" Height="53"> 
        <Border VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Background="#01FFFFFF" IsHitTestVisible="True"/> 
        <Canvas Width="26" Height="32" x:Name="background" IsHitTestVisible="True" > 
         <!-- Omitted for brevity---> 
        </Canvas> 
       </Grid> 
      </ControlTemplate> 
     </ToggleButton.Template> 
    </ToggleButton> 

이 코드의 결과는 간단한 Off 버튼입니다 :
Button, not focused


Button, with dashed border

:이 버튼은 마우스의 초점을 누른 다음 화면의 초점이 끊길을 얻을 때 이제

는 버튼과 같이 주위에 점선 테두리를 얻는다

제 질문은 매우 간단합니다.이 경계를 제거하려면 어떻게해야합니까? FocusVisualStyle 속성을 가지고 놀려고했지만 작동하지 못했습니다.

답변

7

당신은 당신의 스타일로 FocusVisualStyle을 제거 할 수 있습니다, 이것은 그냥 CanvasFocusable="False"를 추가 점선 경계

<ToggleButton FocusVisualStyle="{x:Null}" x:Name="button" HorizontalAlignment="Left" Margin="0,0,0,0" > 
0

을 제거해야합니다.