WPF如何使文本框在按回车键后失去焦点

2023-12-24

我创建了一些文本框,我希望用户在其中输入十进制值。在我使用过的每个应用程序中,当我在文本框中输入内容并按 Enter 键时,该值将被接受并且文本框会失去焦点。我怎样才能在我的应用程序中做到这一点? 我知道通过关键事件应该相对容易做到这一点,但也许有一个命令或其他东西。 我搜索了 stackoverflow,但只发现了有关如何在按 Enter 后保持焦点的问题...


您还可以创建一个通用行为,可以轻松地将其应用于应用程序中的任何文本框。这是一个示例行为类:-

public class TextBoxEnterKeyUpdateBehavior : Behavior<TextBox>
{        
    protected override void OnAttached()
    {
        if (this.AssociatedObject != null)
        {
            base.OnAttached();
            this.AssociatedObject.KeyDown += AssociatedObject_KeyDown;
        }
    }

    protected override void OnDetaching()
    {
        if (this.AssociatedObject != null)
        {
            this.AssociatedObject.KeyDown -= AssociatedObject_KeyDown;
            base.OnDetaching();
        }
    }

    private void AssociatedObject_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
    {
        TextBox textBox = sender as TextBox;
        if (textBox != null)
        {
            if (e.Key == Key.Return)
            {
                if (e.Key == Key.Enter)
                {
                    textBox.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
                }
            }
        }
    }
}

要在 xaml 中使用此类,只需将其包含在文本框行为集合中,如下所示:-

<TextBox>
    <i:Interaction.Behaviors>
           <TextBoxEnterKeyUpdateBehavior />
    </i:Interaction.Behaviors>
</TextBox>

这里的“i”指的是System.Windows.Interactivity命名空间。

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

WPF如何使文本框在按回车键后失去焦点 的相关文章

随机推荐

  • 将 scala 代码概括为函数

    所以我最近不小心写了一个Scala问题的Haskell答案 由于对 Haskell 相当熟悉 解决方案对我来说很容易 myMaxBy a gt a gt Ordering gt a gt a myMaxBy undefined myMaxB
  • 在 BigQuery 中流式传输数据

    在 BigQuery 中流式传输数据后 新数据仅在表中可用一段时间 因为我刷新页面数据消失了 但我仍然可以查询 主要问题是每次我关闭选项卡并再次从存储访问它时可以看到表中的数据 但当我刷新页面时 它又消失了 数据在表中 有时你会看到这样的消
  • Python、嵌套循环、匹配和性能

    我正在尝试使用 Python 2 7 和 Levenshtein 函数将姓氏列表与全名列表进行匹配 为了减少工作量 我仅在第一个字母相同的情况下进行匹配 尽管这似乎在性能方面没有太大差异 如果找到匹配项 则将从全名中删除匹配的单词 以使后续
  • 如何使用vs2012部署mvc 3 /4

    首先 我尝试在网上搜索如何执行此操作 但所有这些都不适合我 还尝试了 Web 部署 Web 部署包和文件系统 如果你们可以的话 我想要的是一个简单的分步指南以及部署 Web 项目的要求 我现在有一个新安装的win7 虚拟机 我在其中尝试了我
  • Spearman 在 R 领带中的 cor.test 是否已修正?

    我想知道 R 中用于计算 Spearman rho 的 cor test 函数是否是平局校正或不 我在其中找不到直接答案官方 R 文档 http stat ethz ch R manual R devel library stats htm
  • 基于一列值的 Excel VBA 过滤表

    我有一个表 我想按其中一列中的值过滤行 用于过滤的值存储在单独的列中 而不是在表中 这是我到目前为止所拥有的 Dim table1 As ListObject Dim range1 As Range Set range1 ActiveShe
  • 谷歌在火狐浏览器中放置错误

    我使用 google places autocomplete 来填充字段地址 地址 城市 国家 地区 邮政编码 纬度 经度 它在所有浏览器中都能很好地工作 但在 Firefox 浏览器中并非每次都能工作 这可能是由缓存引起的 火狐浏览器 代
  • 在python中将数组的字符串表示形式转换为numpy数组

    I can 将列表的字符串表示形式转换为列表 https stackoverflow com questions 1894269 convert string representation of list to list in python
  • 无法解析Build/build.framework.js.br

    我们已将统一应用程序上传到托管商 当我们从应用程序启动index html时 出现错误 无法解析Build build framework js br 如果启用了构建压缩 但托管内容的 Web 服务器配置错误 不提供包含 HTTP 响应标头
  • CSS 显示调整大小和裁剪的图像

    我想显示来自 URL 的具有特定宽度和高度的图像 即使它具有不同的尺寸比例 所以我想调整大小 保持比例 然后将图像剪切到我想要的大小 我可以用 html 调整大小img财产和我可以削减background image 我怎样才能两者兼得 E
  • 如何在键盘上方显示对话框

    我是android新手 我编写了一个应用程序 当用户选择一件事时 它使用对话框显示数据 对话框如下所示 https docs google com file d 0B3NUAgD0tB0YOS16azFCWXdSVVE edit https
  • python的哈希函数在不同版本中保持相同吗?

    我目前正在使用hash在整数和字符串的元组 以及整数和字符串的嵌套元组等 上 以计算某些对象的唯一性 除非可能存在哈希冲突 我想知道 是hash那些数据类型上的函数保证为不同版本的 Python 返回相同的结果 不会 除了 32 位和 64
  • 保存复选框状态

    我需要知道是否可以保存 a 的状态CheckBox在 C 中 我的意思是如果我检查CheckBox并关闭程序 一旦我重新启动程序CheckBox仍将保持检查状态 是否有可能 这是一个相当普遍的问题 您需要以某种方式自己序列化状态 但是如何以
  • 如何将字节写入文件?

    我有一个返回字符串的函数 该字符串包含回车符和换行符 0x0D 0x0A 但是 当我写入文件时 它仅包含新的换行符 有没有办法让输出包含回车符和换行符 msg function arg1 arg2 arg3 f open tmp outpu
  • 如何在无镜像包的flutter中使用ByteData和ByteBuffer

    我正在尝试开发一个 UDP 应用程序来接收数据并将字节转换为不同的数据类型 我有下面的代码 可以在单独使用 Dart 时使用 import dart io import dart typed data import dart mirror
  • 如何将常量作为函数名来调用?

    在 PHP 中 您可以通过在变量中调用函数名称来调用函数 function myfunc echo works func myfunc func Prints works 但是 你不能用常量来做到这一点 define func myfunc
  • Ruby 符号的存在是因为字符串是可变的且不可保留的吗?

    我使用 Ruby 已经大约一年了 有一个语言问题 符号是否是必要的 因为 Ruby 字符串是可变的且不被保留 例如 在 Java 中 字符串是不可变的且被保留的 所以 foo 在值和引用上总是等于 foo 并且它的值不能改变 在 Ruby
  • 使用 sklearn 对单变量时间序列进行聚类

    我有一个 panda DataFrame 我想从中对每一列进行聚类 我正在使用 sklearn 这就是我所拥有的 data pd read csv data csv data pd DataFrame data data data set
  • 两个python脚本之间的通信

    一个方法论问题 我有一个 主 python 脚本 它在我的系统上无限循环运行 我想偶尔向它发送信息 例如 json 数据字符串 以及一些其他 python 脚本 这些脚本稍后将由我自己或另一个程序启动并在发送字符串后立即结束 我不能在这里使
  • WPF如何使文本框在按回车键后失去焦点

    我创建了一些文本框 我希望用户在其中输入十进制值 在我使用过的每个应用程序中 当我在文本框中输入内容并按 Enter 键时 该值将被接受并且文本框会失去焦点 我怎样才能在我的应用程序中做到这一点 我知道通过关键事件应该相对容易做到这一点 但