2012-12-04 30 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在你的风格,这应该删除虚线边框

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

只需添加Focusable="False"Canvas