6

在 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按钮:
按钮,未聚焦

现在,当此按钮成为鼠标焦点,然后屏幕失去焦点时,按钮周围会出现一个虚线边框,如下所示:
按钮,带虚线边框

我的问题很简单:我如何摆脱这个边界?我尝试使用这些FocusVisualStyle属性,但无法使其正常工作。

4

2 回答 2

10

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

   <ToggleButton FocusVisualStyle="{x:Null}" x:Name="button" HorizontalAlignment="Left" Margin="0,0,0,0"  >
于 2012-12-04T20:26:53.507 回答
1

只需添加Focusable="False"到您的Canvas.

于 2012-12-04T20:29:09.563 回答