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