4
我写了一个小WPF控件 - 一个文本框显示小(i)图标,允许显示弹出式帮助。控制模板的相关部分如下所示:如何防止自定义控件的元素变得焦点?
<DockPanel>
<local:InfoIcon DockPanel.Dock="Right" Margin="2" VerticalAlignment="Center" HelpContent="{TemplateBinding InfoTooltip}"
Focusable="False" IsTabStop="False"/>
<ScrollViewer x:Name="PART_ContentHost" Margin="2" VerticalAlignment="Center"/>
</DockPanel>
的InfoIcon
有IsTabStop
和Focusable
明确设置为false。但是,这并不阻止获得焦点的控制,同时通过控制Tab键:
我怎样才能防止获取焦点CustomControl的一部分?
你的InfoIcon控件包含子元素(你提到的文本框?),它仍然是可以聚焦的。将这些元素的Focusable明确设置为false,或将它们的Focusable属性绑定到InfoIcon.Focusable属性...(同样适用于IsTabStop) – elgonzo
你试过了吗? [set KeyboardNavigation.TabNavigation =“None”](http://stackoverflow.com/a/7758370/352101) – Bolu
@elgonzo确实有一个ToggleButton。这很奇怪,在父元素上设置此值不会影响子项的行为... – Spook