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

标签 c# wpf focus custom-controls

<分区>

我写了一个小的 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>

InfoIconIsTabStopFocusable 明确设置为 false。但这并不能阻止该控件在通过控件切换时获得焦点:

Stolen focus

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

最佳答案

尝试在 DockPanelInfoIcon 本身中设置 KeyboardNavigation.TabNavigation="None"

关于c# - 如何防止自定义控件的元素获得焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23827755/

相关文章:

.net - 使用 DrawImage 方法黑屏

java - 创建和显示布局时如何将焦点设置在 View 上?

c# - WPF 应用程序是否有等效于 $.connection.hub.start().done() Javascript 方法?

c# - WPF DataGrid 在编辑时预填充单元格默认值

java - 将此用作 addfocuslistener 方法的参数

java - 如何在 JPopupMenu 中获得焦点

c# - 是否可以进行相对 C# 命名空间引用?

c# - 为什么 Response.Write() 不会将 CSV 文件导出到浏览器?

c# - 如何在winform C#中设置列表框的默认选定项?

c# - 未知鉴别器值 "SqlException",如何忽略动态类型的鉴别器