首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >windows 8应用异步事件

windows 8应用异步事件
EN

Stack Overflow用户
提问于 2012-11-12 09:27:59
回答 2查看 197关注 0票数 1

我在visual studio 2012旗舰版中使用.NET 4.5开发了一个Windows8应用程序。

我遇到的问题是,如果可以,假设代码中的TextBox的文本值,OnChanged事件将被激发,这似乎是一种不可预测的方式,而OnChanged事件处理程序中的代码将在我不希望它被激发时被激发。

例如

在OnChanged事件处理程序中,我可能有一些代码将应用程序状态更新为"Editing..“当用户更改TextBox中的文本时。但是,如果我自己在代码中更改文本,我不希望更改状态。

因此,我创建了一个名为"Updating“的全局变量,它控制OnChanged事件中的代码是否可以运行。

我将updating设置为true,然后将textbox text属性设置为某个值,并将Updating变量设置为false。问题是,在我将Updating变量设置为false之后,TextBox的OnChanged事件似乎被激发了,导致事件处理程序中的代码被激发。

我猜这与Win 8应用程序的异步特性有关。

有人知道我如何解决这个问题吗?关于这一行为的一些背景信息也会有所帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-29 02:00:28

我有相同的行为,不知道如何解决它。我还有一个全局变量IsUpdating,它是在以编程方式更新textbox.Text期间设置的,目的是退出TextChanged事件。但正如阿迪上面提到的。这些事件在离开update方法后触发,因此IsUpdating被重置为false。因此,事件完全执行,并且设置了my Modified-Flag。

这个问题已经报告给了app热线,希望很快就能解决。

票数 0
EN

Stack Overflow用户

发布于 2012-11-12 18:51:13

为什么不在更新文本和添加文本之前删除eventhandler?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13337301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档