我在一个窗口中有UserControl。当用户使用“Tab”键走动窗口时,用户控件会聚焦并且围绕它绘制虚线边框。如何防止这种行为?
答案 0 :(得分:5)
如果您只是想通过Tabbing保持它不接受焦点,只需通过IsTabStop="False"
在对象上声明它,或者您可以为它编辑控件模板并摆脱焦点更改。
答案 1 :(得分:5)
尝试使用控件集Focusable = "False"
。例如:
<Grid Focusable="False">
...
</Grid>
或者设置Style
以使自己专注:
<Grid FocusVisualStyle="{x:Null}" />
此外,焦点的Style
可能是:
<Style x:Key="MyItemFocusVisual" TargetType="{x:Type Control}">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Control}">
<Border SnapsToDevicePixels="True" CornerRadius="0" BorderThickness="5" BorderBrush="#7B2F81" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
使用:
<Grid Focusable="True" FocusVisualStyle="{StaticResource MyItemFocusVisual}" ... />
Output
答案 2 :(得分:0)
这是我的错。我有xaml:
<ContentControl>
<ScrollViewer name="viewport"/>
</ContentControl>
和“viewport.Content”已从代码隐藏设置为我的UserControl。
是一个绘制焦点边框的ContentControl。我删除了它,只留下了一个。问题解决了。