问题标签 [lostfocus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 防止子元素失去焦点时触发 LostFocus
我有一个用户控件,它有几个子元素,包括复选框和文本框。
我只想在整个用户控件上失去焦点(例如单击用户控件之外的按钮)时才为我的用户控件触发 LostFocus 事件。
目前,当我在用户控件的子元素之间移动(例如从一个文本框到另一个文本框)时,也会触发 LostFocus 事件。
wpf - 单击选项卡时 WPF 控件失去焦点
在选项卡控件上,我有几个选项卡,其中一个选项卡的内容中有一个文本框。
此文本框的内容与简单的 Path=PropertyName 和 UpdateSourceTrigger=LostFocus 绑定。我使用 LostFocus 的原因是我捕获了 Textbox 的 Lost focus 事件并可能重新格式化文本。这是一个“时间”文本框,如果他们输入“0900”,我想重新格式化为“09:00”。当我按 Tab 键移动到下一个控件时,这部分效果很好,但是如果我键入“0900”然后按其他选项卡之一,我会失去焦点并重新格式化文本框中的值,但绑定永远不会被调用来更新我的对象。当我回到选项卡时,该值被空白(或重置为对象上的原始值)
任何想法为什么在更改标签页时文本框不会触发绑定更新?
注意:这也发生在与失去焦点事件相关的常规文本框上。它似乎与单击选项卡有关。
[[添加代码]]更多注释:1.我正在动态创建选项卡和选项卡上的控件(不确定是否与它有关)2.我正在使用Prism库
主窗口 Xaml
主窗口代码背后
支持对象
c# - WPF:在旧 WinForms 中的 LostFocus
经过大量研究后,我没有得到它,我怎样才能像我们在 Winforms 中那样实现简单的 Lostfocus。在 Windows 窗体控件中,我们通常使用 LostFocus,当有人按 TAB 键失去焦点或使用鼠标选择其他控件时,我会使用它。但 WPF 并非如此。我第一次使用 LostFocus,但是当我按下 tab 时它不会触发事件。但是,当我使用鼠标单击其他控件时,它确实会正确触发。所以,这并不能解决我的问题。
其次,我尝试使用 LostKeyboardFocus,它在使用 TAB 键时会被触发,并且在少数情况下当我使用鼠标选择其他元素时,但当我从父窗口菜单中选择菜单项时不会。
另外,我可以控制用户控件,我将它放在父窗口的 TAB 控件中。但是当我按下 TAb 键时,它总是选择父窗口菜单而不是我在 UserControl 中的 TreeView。
任何建议都是很大的帮助。谢谢。
c# - ApplicationBar 命令之前的 LostFocus
我将 a 绑定TextBox
到我的 ViewModel 的属性。当用户单击 ApplicationBar 按钮时,将调用一个命令(我正在使用 BindableApplicationBar,它可以在 NuGet 上找到)。问题是当用户键入TextBox
并立即单击应用程序按钮时,TextBox
没有调用 的设置器,这意味着 ButtonCommand 正在使用旧文本。
我已经看到了很多解决方案,但我无法在我的情况下使用它们。唯一的“解决方案”是摆脱 ApplicationBar 并使用一个按钮,它位于键盘后面(当用户单击 TextBox 时会弹出。我使用的是 Windows Phone,所以这就是为什么有一个键盘。 ..)。所以用户必须点击其他地方才能使用按钮-> lostfocus。
一些解决方案:
与 UpdateSourceTrigger==LostFocus 绑定不会触发菜单或工具栏交互
我不能使用 UpdateSourceTrigger=PropertyChanged 并且我正在使用 MVVM,所以我也不想使用 CodeBehind。如果没有 CodeBehind 就没有其他方法可以做到这一点,那么没关系。
c# - 谁处理了我的活动
我已经在 TextBox 上注册了一个 LostFocus 事件,但该事件没有被捕获 - 我的猜测是其他人处理了它。我试过使用 snoop,但它只显示 MouseDown 和 MouseUp 事件(我需要 LostFocus)。关于如何找出答案的任何想法?
谢谢
更新:不太清楚,但我注册的代码是:
eventInfo.AddEventHandler(cloningObject, eventDelegate);
c# - 禁用触发 TextChanged 事件
我有文本框,当被触发时我正在更改其中的文本,lostFocus
但这也会触发textChanged
我正在处理的事件,但我不希望它在这种情况下被触发,我怎样才能在这里禁用它?
更新:
这个想法bool
很好,但我有几个文本框,我对它们都使用相同的事件,所以它不能完全按照我想要的方式工作。
现在它正在工作!:
我在编辑文本后设法将其bool
重新打开true
,它可以正常工作,谢谢大家:]
vb.net - 绑定到 Objectdatasource 时,vb.net Combobox 在失去焦点时重置为未选中
抱歉,我是 vb.net 2010 的新手。我也是子类化的新手。组合框用作查找。
我有一个绑定到 bindingSource 的组合框。问题是在我在组合框中选择一个项目并失去焦点后,它会恢复为空白。为什么是这样?诡异的。
frmUsers_AddEdit 是我用来将用户数据添加/编辑到数据库中的表单。我还在添加阶段。还没有可编辑的代码。
组合框问题:每次我从 UserTypeCombobox(例如“编码器”)中选择一个项目时,当它失去焦点时,选择将恢复为未选中状态。:-(
vb.net - 在 VB.NET 中,LostFocus 不适用于我的 MDI 子容器
如果我设置了两个表单,我可以使用表单句柄上的“.Close()”函数关闭一个或另一个。但是,这不适用于 Mdi 表单。子窗体似乎永远不会因为单击任何其他子窗体或父窗体而失去焦点,因为这些窗体都是父窗体的子窗体。只要父母有焦点,孩子也有焦点。
有没有办法确定子窗体是否失去焦点以及是否如此接近?
我将它用于我的常规(非 Mdi)表单,效果很好:
谢谢。
java - 使用 LostFocus 事件在 Java 中验证文本字段
我正在使用 LostFocus 事件验证两个文本字段,如下所示:
我的问题是,当我失去对第一个文本字段的关注并将焦点移动到第二个文本字段时,两个字段都会打印错误消息(两个 lostfocus 事件下的 IF 块内的消息。)当我在第一个文本字段中输入错误并移动焦点时对于第二个字段,它应该只打印第一个文本字段的错误消息。但两者的打印错误。
第一个文本字段是 textRegNo 第二个文本字段是 textMobNo
winforms - WinForms:菜单单击处理程序能否确定表单上的哪个编辑控件在单击之前具有焦点?
赢表格。
假设我们在表单上有一个带有一些单元格编辑器(复选框、单选按钮组)的网格。该表单有一个文件菜单。文件-> 保存。用户访问网格中的几个单元格,然后单击单元格中的复选框,然后在不使用鼠标触摸其他任何内容且不触摸 Tab 键的情况下,单击“文件”菜单,然后单击“保存”。
在 Save menuitem click 处理程序中,是否可以确定网格中的哪个复选框之前立即具有焦点?该复选框不会丢失焦点,因为菜单选择不会导致其丢失焦点事件触发。