WPF 和初始焦点

2023-12-02

似乎当 WPF 应用程序启动时,没有任何东西具有焦点。

这实在是太奇怪了。我使用过的所有其他框架都符合您的预期:将初始焦点放在 Tab 键顺序中的第一个控件上。但我已经确认它是 WPF,而不仅仅是我的应用程序 - 如果我创建一个新窗口,然后在其中放入一个 TextBox,然后运行该应用程序,则 TextBox 不会获得焦点,直到我单击它或按 Tab 键。恶心。

我的实际应用程序比文本框更复杂。我在 UserControls 中有几层 UserControls。其中一个 UserControls 具有 Focusable="True" 和 KeyDown/KeyUp 处理程序,我希望它在我的窗口打开时立即获得焦点。不过,我在某种程度上仍然是 WPF 新手,而且我不太幸运地弄清楚如何做到这一点。

如果我启动我的应用程序并按 Tab 键,那么焦点将转到我的可聚焦控件,并且它开始按照我想要的方式工作。但我不希望我的用户必须先按 Tab 键才能开始使用该窗口。

我已经尝试过 FocusManager.FocusedElement,但我不确定将其设置在哪个控件上(顶级窗口?包含可聚焦控件的父级?可聚焦控件本身?)或将其设置为什么。

我需要做什么才能让我的深层嵌套控件在窗口打开时立即获得初始焦点?或者更好的是,将第一个可聚焦控件置于 Tab 键顺序中?


这也有效:

<Window FocusManager.FocusedElement="{Binding ElementName=SomeElement}">

   <DataGrid x:Name="SomeElement">
     ...
   </DataGrid>
</Window>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF 和初始焦点 的相关文章

  • 在 WPF 中处理第二个 UI 线程

    我有一个长时间运行的进程在我的 UI 线程上运行 我无法离开 UI 线程 相反 我尝试创建第二个具有等待动画的 UI 线程 这是我用来创建第二个 UI 线程的代码 Private busyThread As Thread Private w
  • WPF ICommand CanExecute():RaiseCanExecuteChanged() 或通过 DispatchTimer 自动处理?

    我正在尝试确定使 ICommands 的 CanExecute 反映在 UI 中的最佳方法 据我了解 调度员是处理 UI 绘图的 WPF 引擎 默认情况下 调度程序在实例化以及活动用户界面 单击 UI 或键盘输入 时评估 ICommands
  • 强制窗口在打开时获得焦点

    我有一个 WPF 应用程序 它通过套接字连接与 C MFC 应用程序进行通信 如果用户按下 C 应用程序中的特定按钮 则会显示一个新的 WPF 窗口 以下是调用以启动 WPF 窗口的代码 var window new Window wind
  • 如何在c# wpf中获取元素的标签?

    我正在尝试使用 WPF 构建一个 GUI 在其中我可以绘制一些基本形状并将它们存储到 xml 文件中 形状是在 xaml 文件中设计的 我为每个形状添加了标签 现在我想在代码中获取它们的标签值 并将其作为属性存储在输出 xml 文件中 例如
  • tabControl/tabitem 刷新困难

    我有一个带有 maintabWindow 和几个 tabitem 的 WPF 窗口 它通常工作正常 布局是这样的 但是当我之前添加以下窗口时 结果是这样的 所以问题与 tabControl tabItem 刷新有关 这是相当明显的 但更重要
  • 使用 TemplateColumns 将 WPF DataGrid 绑定到 DataTable

    我已经尝试了一切但一无所获 所以我希望有人能给我一个顿悟的时刻 我根本无法获得成功提取数据网格中数据的绑定 我有一个包含 MyDataType 的多列的 DataTable public class MyData string nameDa
  • 使用MVVM Light的Messenger在视图模型之间传递值

    有人可以帮我解释一下 MVVM Light 的 Messenger 吗 我正在阅读 StackOverflow 上的一篇文章 MVVM 在视图模型之间传递值 https stackoverflow com questions 6392854
  • WPF DataGrid 绑定 DataGridCell 内容

    希望这将是一个非常简单的答案 我认为我只是没有看到众所周知的树木 我有一个 DataGridCell 样式 我想将单元格的内容绑定到图像的源属性 这是我目前使用的 XAML
  • 如何在wpf中打印屏幕截图

    首先我英语说得不太流利 反正 我正在尝试这样做 然而这还不是第三天 我现在正在做的是屏幕捕获后的程序屏幕打印 我参考这段代码 https social msdn microsoft com Forums windows en US 0623
  • 即使在 GC Collect 和 WaitForPendingFinalizers 之后,窗口对象在关闭后也未释放?

    这是一个简单的测试应用程序 可帮助了解 WPF 内存使用情况 我想了解的关键是为什么MainWindow即使在关闭并等待 GC 完成之后 仍然被引用并且它的内存没有被释放 参见下面的代码清单 文本 MainWindow Finalizer
  • 将 WPF 快捷键绑定到 ViewModel 中的命令

    我有一个使用 MVVM 模式的 WPF 应用程序 将按钮连接到 VM 非常简单 因为它们实现了 ICommand 我有一个工作原理类似的上下文菜单 下一步是为上下文菜单创建快捷键 我不知道如何让快捷键调用命令 这是一个例子
  • 比较运算符性能 <= 与 !=

    让我们首先声明代码可读性胜过微优化 我们应该将其留给编译器 这只是一个奇怪的案例 具体细节似乎与一般建议相比很有趣 因此 我在搞素数生成器函数 并提出了一种奇怪的行为 其中 人们建议效率最高 实际上效率最低 而 C private stat
  • 从 xaml 获取 RowIndex

    我有一个带有 DataGridTemplateColumns 的 DataGrid 在 TemplateColumn 中 我使用工作正常的 DataTrigger 它从 DataGrid 父级检索项目计数
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • Winforms 中的 WPF ElementHost 最大化时崩溃 (Windows)

    我正在尝试将新的 WPF 控件集成到现有的 WinForms 应用程序中 并使用 ElementHost Dock Fill 来托管以下 XAML UserControl NET 4 当我将 WinForm 设置为最大化时 我的整个操作系统
  • 如何使 WPF 应用程序在 Web 浏览器上运行

    我们有一个用 WPF 编写的现有应用程序 我们正在寻找一种迁移它的方法 以便它可以在 Web 浏览器上运行 深入研究后 我们似乎需要找到一种将代码编译为 WebAssembly 的方法 但我不确定它对于现有的完全加载的 WPF 应用程序有多
  • WPF - 如何从 DataGridRow 获取单元格?

    我有一个具有交替行背景颜色的数据绑定 DataGrid 我想根据单元格包含的数据对单元格进行不同的着色 我已经尝试过该线程建议的解决方案 http wpf codeplex com Thread View aspx ThreadId 511
  • 混合 MFC 和 WPF:模态对话框

    我使用 C CLI 界面层将 C WPF 对话框添加到现有的 C MFC 应用程序 我一切正常 只是我遇到了形式问题 例如 MFC 应用程序使用 ShowDialog 显示 WPF 对话框 按预期工作 该 WPF 对话框显示使用 DoMod

随机推荐

  • 执行 INSERT INTO 语句时出现语法错误

    我输入的是正确的dataSource但它并没有解决我无法解决的问题cmd ExecuteNonQuery 说 INSERT INTO 语句中存在语法错误 Code Private Sub btnadd1 Click ByVal sender
  • 使用 JS 循环遍历映射列表以过滤映射键值

    如何使用JS循环遍历地图列表以从下面具有记录地图的列表中过滤出SearchMap键值 Map var searchMap new Map searchMap set ed mood strong searchMap set ed targe
  • 如何重新安装 cpan-autobundle

    我目前正在处理备份 而不是备份整个磁盘 对我来说 备份系统配置会更有效 因此 对于 perl 部分的内容 我希望有一种方法来列出已安装的模块 并在需要时重新安装这些模块 I read 如何获取已安装的 CPAN 模块的列表 关于如何获取列表
  • 如何使用Sceneform、ARCore绘制多边形?

    假设我有来自 ArFragment 命中结果的三个锚点 锚点anchor hitResult createAnchor 如何使用 Sceneform 绘制三角形并应用自定义纹理 第一步是创建一个列表AnchorNodes 能够获取坐标Anc
  • 无尖点且无自交的 Catmull-rom 曲线

    我有以下代码来计算四个控制点之间的点以生成 catmull rom 曲线 CGPoint interpolatedPosition CGPoint p0 CGPoint p1 CGPoint p2 CGPoint p3 float t fl
  • swift 2 中引入的可选模式有哪些优点/用例?

    对于像这样的简单情况if let or guard没看出优点啊 if case let x someOptional where I don t see the advantage over the original if let if l
  • 读取嵌入的 XML 文件 C#

    如何读取嵌入的 XML 文件 属于 C 项目一部分的 XML 文件 我已将 XML 文件添加到我的项目中 并且我想从中读取内容 我希望 XML 文件与项目一起编译 因为我不希望它将成为用户可以看到的资源 任何想法 确保 XML 文件是 cs
  • Python,安装 clarifai --> VS14.0 link.exe 失败,退出状态 1158

    我已经全新安装了 Python 3 6 Selenium 现在想要安装 Clarifai 2 0 21 以下命令失败 python m pip install clarifai 2 0 21 起初它要求 VC 14 0 但我有 14 1 使
  • 根据每个数组中的单个值对 PHP 数组元素进行分组 [重复]

    这个问题在这里已经有答案了 我目前有一个数组 如下所示 Array 0 gt Array id gt 1 name gt Test 1 age gt 42 another id gt 5 1 gt Array id gt 2 name gt
  • BindingResult 和普通目标对象都不是...异常

    是的 我读到这是一个很常见的问题 但阅读这些帖子并没有真正帮助我 The 短篇故事我想在 showAllComments jsp 上提交表单
  • Firefox 11 和 GeoLocation 拒绝回调

    Firefox 10 x 一切正常 但升级到 Firefox 11 后出现了问题 I use navigator geolocation getCurrentPosition success failure 但在 FF11 中 当用户通过选
  • 我的用于解决 3 壶水难题的序言程序有什么问题?

    任何人都可以找到为什么我在这段代码中无法通过 go 得到任何真正的答案吗 例如 我写go 7 3 l 我认为它应该将 3 升水转移到第二个水罐中 但根据序言 这是错误的 怎么了 dynamic go 3 dynamic cur state
  • 为什么在 C++ 中字符串文字中的反斜杠必须转义?

    我想为两种语言声明相同的正则表达式模式 对于TCL我这样做 set pattern d s S 但对于 C 我必须对相同的模式执行此操作 boost regex pattern d s S 否则 C 编译器会告诉我们以下信息 warning
  • 如何加载 JAR 外部但相对于 JAR 的文件?

    我需要加载 JAR 之外的文件 但相对于它 lib config config ini准确地说 我使用了那个确切的路径 只要工作目录是 JAR 所在的位置 它就可以正常工作 即 path to jar java jar JAR jar 如果
  • Pandas - 根据多列进行分组并在组内排名

    我有一个像这样的数据框 df pd DataFrame asset id 10 10 10 20 20 20 method id p2 p3 p4 p3 p1 p2 method rank 5 2 2 2 5 1 conf score 0
  • zbar sdk 无法通过使用相机模拟器在 iPhone 模拟器上工作

    我的项目必须支持条形码扫描 我正在使用 zbar sdk 我已经集成了代码并使用 iphone 模拟器运行 我正在使用相机模拟器扫描条形码 它正确打开条形码图像 但条形码扫描不起作用 有人用过这个吗 您可以在iPhone模拟器上测试条形码
  • 如何在Java Restlet中访问请求的标头值?

    我正在使用开发网络服务Restlet Java 为此 我想保护一些网络服务免受未经授权的客户端的侵害 所以我写了Filter类 在那个 Filter 类中我想得到headers请求的 但我收到以下错误 java lang ClassCast
  • 为什么我无法使用单个点访问整数的属性?

    如果我尝试写 3 toFixed 5 存在语法错误 使用双点 插入空格 将三个点放在括号中或使用方括号表示法可以使其正常工作 3 toFixed 5 3 toFixed 5 3 toFixed 5 3 toFixed 5 为什么单点表示法不
  • 如何在 SQL 中抑制或隐藏重复值?

    我已经四处寻找了一下 但还没有找到如何做到这一点 尽管已经找到了很多关于分析其性能的信息 我想执行一个选择 它返回几列数据 然后还返回另一个表中相关行的嵌套表 实际上是同一个表本身连接 但我 认为 这是不相关的 所以数据是这样的 id na
  • WPF 和初始焦点

    似乎当 WPF 应用程序启动时 没有任何东西具有焦点 这实在是太奇怪了 我使用过的所有其他框架都符合您的预期 将初始焦点放在 Tab 键顺序中的第一个控件上 但我已经确认它是 WPF 而不仅仅是我的应用程序 如果我创建一个新窗口 然后在其中