我在一个窗口中有 UserControl。当用户使用“Tab”键访问窗口时,用户控件将获得焦点并在其周围绘制虚线边框。如何防止这种行为?
问问题
8072 次
3 回答
7
试试它的控制集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
于 2013-08-05T16:14:42.620 回答
5
如果您只想阻止它通过 Tabbing 接受焦点,只需在对象上声明它,IsTabStop="False"
或者您可以为其编辑控件模板并摆脱焦点更改。
于 2013-08-05T15:40:16.790 回答
0
这是我的错误。我有 xaml:
<ContentControl>
<ScrollViewer name="viewport"/>
</ContentControl>
并且“viewport.Content”从代码隐藏设置为我的 UserControl。
绘制焦点边框的是一个 ContentControl。我删除了它,只留下了一个 . 问题解决了。
于 2013-08-06T04:56:13.830 回答