如何在wpf中延迟调用文本框的textchanged事件

2024-04-03

我有从 Textbox 继承的自定义控件。

我想延迟调用 textchanged 事件。

 Observable.FromEventPattern<TextChangedEventHandler, TextChangedEventArgs>(
                handler => this.TextChanged += handler,
                handler => this.TextChanged -= handler
                ).Throttle(TimeSpan.FromMilliseconds(600))
                      .Where(e =>
                          {
                              var control= e.Sender as TextBox;
                              return control!= null && !string.IsNullOrEmpty(control.Text);
                          })

                      .Subscribe(x => Control_TextChanged(x.Sender, x.EventArgs));

问题是它给出错误消息,无法访问 Text 属性,因为当前线程无权访问。

有人可以请建议吗?

谢谢, 维沙尔


您可以在 UI 线程上观察:

Observable.FromEventPattern<TextChangedEventHandler, TextChangedEventArgs>(
  handler => this.TextChanged += handler,
  handler => this.TextChanged -= handler)     
     .ObserveOn(DispatcherScheduler.Current)
     .Throttle(TimeSpan.FromMilliseconds(600))
     .Where(e =>
          {
              var control= e.Sender as TextBox;
              return control!= null && !string.IsNullOrEmpty(control.Text);
          })
     .Subscribe(x => Control_TextChanged(x.Sender, x.EventArgs));

注意使用DispatcherScheduler.Current在里面System.Reactive.Windows.Threading命名空间在Rx-WPFNuGet 包。

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

如何在wpf中延迟调用文本框的textchanged事件 的相关文章

  • C#动态支持吗?

    看完之后这个帖子 https stackoverflow com questions 2674906 when should one use dynamic keyword in c sharp 4 0k和链接 我还有 2 个问题 问题 1
  • 32 位应用程序的特征最大矩阵大小

    所以 我正在寻找Eigen http eigen tuxfamily org index php title Main Page当我尝试声明大于 10000x10000 的矩阵时 包崩溃 我需要声明一个像这样的矩阵 可靠地大约有 13000
  • Clang 编译器 (x86):80 位长双精度

    我正在尝试在 x86 Windows 平台上使用本机 80 位长双精度 海湾合作委员会选项 mlong double 80 https gcc gnu org onlinedocs gcc x86 Options html似乎不适用于 cl
  • 构造函数中显式关键字的使用

    我试图了解 C 中显式关键字的用法 并查看了这个问题C 中的explicit关键字是什么意思 https stackoverflow com questions 121162 但是 那里列出的示例 实际上是前两个答案 对于用法并不是很清楚
  • JSON 数组到 C# 列表

    如何将这个简单的 JSON 字符串反序列化为 C 中的列表 on4ThnU7 n71YZYVKD CVfSpM2W 10kQotV 这样 List
  • POCO HTTPSClientSession 发送请求时遇到问题 - 证书验证失败

    我正在尝试使用 POCO 库编写一个向服务器发出 HTTPS 请求的程序 出于测试目的 我正在连接到具有自签名证书的服务器 并且我希望允许客户端进行连接 为了允许这种情况发生 我尝试安装InvalidCertificateHandler这是
  • C++ 异步线程同时运行

    我是 C 11 中线程的新手 我有两个线程 我想让它们同时启动 我可以想到两种方法 如下 然而 似乎它们都没有按照我的预期工作 他们在启动另一个线程之前启动一个线程 任何提示将不胜感激 另一个问题是我正在研究线程队列 所以我会有两个消费者和
  • 即使手动设置显示环境变量后,WSL Ubuntu 也会显示“错误:无法打开显示”

    我在 WSL Ubuntu 上使用 g 我使用 git 克隆了 GLFW 存储库 使用了ccmake命令配置并生成二进制文件 然后使用make在 build 目录中最终创建 a文件 我安装了所有OpenGL相关的库 usr ld 我不记得我
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题
  • C# 中条件编译符号的编译时检查(参见示例)?

    在 C C 中你可以这样做 define IN USE 1 define NOT IN USE 1 define USING system 1 system 1 IN USE 进而 define MY SYSTEM IN USE if US
  • 当“int”处于最大值并使用 postfix ++ 进行测试时,代码定义良好吗?

    示例 未定义行为的一个示例是整数溢出的行为 C11dr 3 4 3 3 int溢出是未定义的行为 但这是否适用于存在循环的以下内容 并且不使用现在超出范围的副作用i 特别是 这是否后缀增量规格帮助 结果的值计算在副作用之前排序 更新操作数的
  • 在 C 中使用 GNU automake 中的解析器

    我是 GNU autotools 的新手 在我的项目中使用了 lex 和 yacc 解析器 将它们作为 makefile am 中的源代码会产生以下错误 配置 in AC CHECK PROGS YACC bison yacc none i
  • 有没有一种简单的方法可以让 Visual Studio 2015 使用特定的 ToolsVersion?

    使用特定版本构建项目或解决方案时msbuild我可以使用以下命令选择早期的 net 工具链 toolsversion or tv switch C Program Files x86 MSBuild 14 0 bin msbuild tv
  • 是否可以有一个 out ParameterExpression?

    我想定义一个 Lambda 表达式out范围 有可能做到吗 下面是我尝试过的 C Net 4 0 控制台应用程序的代码片段 正如您在 procedure25 中看到的 我可以使用 lambda 表达式来定义具有输出参数的委托 但是 当我想使
  • 耐用功能是否适合大量活动?

    我有一个场景 需要计算 500k 活动 都是小算盘 由于限制 我只能同时计算 30 个 想象一下下面的简单示例 FunctionName Crawl public static async Task
  • 为什么拆箱枚举会产生奇怪的结果?

    考虑以下 Object box 5 int int int box int 5 int nullableInt box as int nullableInt 5 StringComparison enum StringComparison
  • 剪贴板在 .NET 3.5 和 4 中的行为有所不同,但为什么呢?

    我们最近将一个非常大的项目从 NET Framework 3 5 升级到 4 最初一切似乎都工作正常 但现在复制粘贴操作开始出现错误 我已经成功制作了一个小型的可复制应用程序 它显示了 NET 3 5 和 4 中的不同行为 我还找到了一种解
  • 转到定义:“无法导航到插入符号下的符号。”

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我今天突然开始在我的项目中遇到一个问题 单击 转到定义 会出现一个奇怪的错误 无法导航到
  • 运算符“==”不能应用于“int”和“string”类型的操作数

    我正在编写一个程序 我想到了一个数字 然后计算机猜测了它 我一边尝试一边测试它 但我不断收到不应该出现的错误 错误是主题标题 我使用 Int Parse 来转换我的字符串 但我不知道为什么会收到错误 我知道它说 不能与整数一起使用 但我在网
  • 是否可以在 C# 中强制接口实现为虚拟?

    我今天遇到了一个问题 试图重写尚未声明为虚拟的接口方法的实现 在这种情况下 我无法更改接口或基本实现 而必须尝试其他方法 但我想知道是否有一种方法可以强制类使用虚拟方法实现接口 Example interface IBuilder

随机推荐

  • 如何在 R 中创建具有特定 MA(或 q)项的 ARIMA 模型

    我无法确定使用 arima stats 创建 ARMA 模型的特定方法 该模型具有特定的 MA 项 而这些项不仅仅由最大数指定 我的意思是 我需要指定一个 AR 1 MA 1 4 模型 该模型应该产生截距 AR1 项 MA1 项和 MA4
  • 将视频保存到 CameraRoll React-Native

    可以使用cameraRoll在React Native上保存视频 对于使用saveImageWithTag 的图像 这很容易 但我找不到视频文档 将视频保存到相机胶卷非常容易 我使用以下代码行完成了它 saveVideoToCameraRo
  • 对数据框中的列中的数据进行分类

    我的数据框中有一列数字 我想将这些数字分类为例如高 低 排除 我该如何做到这一点 我一无所知 我尝试查看剪切函数和类别数据类型 一个简短的例子pd cut 让我们从一些数据框开始 df pd DataFrame A 0 8 2 5 9 15
  • 点击 wkwebview 链接时不会打开

    我正在开发一个应用程序 其中一些代码继承自其他开发人员 并具有加载 html 文件的 Web 视图 html 文件中包含电话号码和网页链接 如果长按电话号码将会打开 但 html 链接不会打开 我希望它们通过短按打开 但短按什么也没有发生
  • 从其他进程向 WPF 单例应用程序发送数据

    我有一个 WPF 单例应用程序 其中任何时候只有一个实例在运行 如果用户尝试启动另一个实例 我们检查它是否已经在运行 然后我们终止这个新进程并将现有进程置于前面 现在 我们需要从另一个进程 可以是 xls word 或另一个独立应用程序 打
  • 如何直接从protobuf创建GRPC客户端而不将其编译成java代码

    使用 gRPC 时 我们需要通过协议缓冲区编译器 protoc 或使用 Gradle 或 Maven protoc 构建插件从 proto 服务定义生成 gRPC 客户端和服务器接口 Flow now protobuf file gt ja
  • 安装过程中,Vista 上的各种文件类型在哪里

    在 Windows XP 上安装我的软件总是很容易 所有内容都在 c Program Files myprogram 目录中 这包括 可执行程序本身和任何 dll Readme txt 和 License txt 帮助文件 hlp 或 ch
  • Angular 4 中的 ID 路由

    我在 Angular 4 中的路由方面需要帮助 我想像这样显示 URL 本地主机 4200 user 1 如果我单击第一个用户的查看详细信息 我对如何做到这一点有点困惑 我已经在下面的代码中尽力了 但它仍然不起作用 应用程序路由 modul
  • 什么时候使用inout参数?

    将类或基本类型传递给函数时 函数中对参数所做的任何更改都将反映在类外部 这基本上是同一件事inout参数应该做的 inout 参数的良好用例是什么 inout意思是修改局部变量也会修改传入的参数 如果没有它 传入的参数将保持相同的值 使用时
  • 有一个不错的 OpenCL 入门套件吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一些经验OpenGL它是可编程管道 我愿意给OpenCL不过 尝试一下 有人可以提出一个很好的集成套件来使用OpenCL 我只知道石英作曲家看起来
  • Mysql 将几列转换为一行

    我有这样的事情 id month col col2 101 Jan A B 102 feb C A 102 feb D Q 我需要这样的东西 id month col col2 101 Jan A B 102 feb C D A Q 为了获
  • Flutter - 如何更新用于构建 ListView 的 Future/List 的状态(或值?)(通过 FutureBuilder)

    我在下面粘贴了相关代码 但您也许可以根据我的伪解释来回答 我使用 FutureBuilder 来构建列表视图 我首先使用 init 异步 HTTP 调用 API 并将其解析为映射以表示 json 结果的对象列表 位置 然后 该位置列表将返回
  • 是否可以查看 Azure 应用服务的重启历史记录?

    是否可以查看 Azure 应用服务的重启历史记录 我的意思是在 GUI 中看到它 而不是 API 是的 你可以从Activity log在蔚蓝门户中 截图如下
  • R 中的混合合并 - 下标解决方案?

    Note 我从第一次发布时更改了示例 我的第一个例子过于简单 无法捕捉到真正的问题 我有两个数据框 它们在一列中以不同的方式排序 我想匹配一列 然后合并第二列中的值 第二列需要保持相同的顺序 所以我有这个 state lt c IA IA
  • 上传到 Play 商店后地图活动空白[重复]

    这个问题在这里已经有答案了 正如标题中提到的 在我上传应用程序后 地图活动显示空白 下方带有 Google 徽标 我知道这个问题已被问过很多次 但没有一个解决方案能够解决我的问题 这是我到目前为止所做的 按照官方指南生成 Google 地图
  • 我可以使用应用程序商店分发配置文件重新签署使用临时配置文件构建的 iOS 发布版本吗?

    我是 iOS 开发新手 第一次进行发布构建 在我的团队中 我们有两种分布情况 临时 用于 Beta 测试 and 应用商店分布 我们使用 Test Flight 进行 Beta 测试 所以 我存档 注意这是一个发布版本 使用临时配置文件 然
  • 我对快速会话和 cookie 缺少什么?

    我已经对express express session 和express sql session 有了很大的了解 当用户登录时 我已经在数据库中为会话创建一行 这就是我的设置方式 login route handler this bcryp
  • 使用 Qt Creator 的 C++0x

    我正在尝试使用新的 C 0x 功能Qt创建者 http en wikipedia org wiki Qt Creator在 Windows 下 Qt Creator 2 0 1 我读了主题在 Qt Qt Creator 和 QMake 中配
  • 从代码隐藏绑定字符串格式?

    请有人告诉我如何从代码隐藏中获取格式化为 0 0 的双精度值 如下所示 Binding b new Binding DoubleValue b StringFormat 在 xaml 中 它的工作方式就像 0 0 那这个呢 b String
  • 如何在wpf中延迟调用文本框的textchanged事件

    我有从 Textbox 继承的自定义控件 我想延迟调用 textchanged 事件 Observable FromEventPattern