如何摆脱xaml中的元素焦点边框

时间:2012-12-04 20:17:14

标签: wpf xaml focus focusvisualstyle

在WPF中,我创建了一个自定义按钮模板,如下所示:

<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属性,但无法使其工作。

2 个答案:

答案 0 :(得分:8)

你可以删除你风格的FocusVisualStyle,这应该删除虚线边框

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

答案 1 :(得分:0)

只需将Focusable="False"添加到Canvas