c# – 如何防止自定义控件元素获得焦点?

参见英文答案 >
How can I prevent tabbing to a UserControl?                                    4个

>            
IsTabStop=“False” has no effect on my WPF app                                    2个

我写了一个小的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.但这并不妨碍该控件在通过控件进行制表时获得焦点:

如何防止CustomControl的这一部分获得焦点?

最佳答案 尝试在DockPanel或InfoIcon本身中设置KeyboardNavigation.TabNavigation =“None”.

点赞