【发布时间】:2012-05-18 09:59:21
【问题描述】:
我有一个TextBox,用户可以在其中输入搜索词。它绑定到我的view-model 中的string Term 属性。我想在内容更改时进行搜索查询。但我想在一个单独的线程中使用 delay 进行查询。
例如当用户输入一个字母时,我想等待 0.3 秒,如果用户在这段时间内(0.3 秒)更改输入,则计时器重置并再次启动。否则,我会启动一个新线程并执行搜索查询。在查询执行期间,如果用户再次更改术语,则中止上一个查询并重新开始。
我知道如何在带有线程和Timer 类的 Windows 窗体中执行此操作。但我是 WPF 的新手,我正在搜索是否有为 WPF 线程功能指定的方法(或者可能是一种性能更好的方法)。
你有什么想法吗?你能帮帮我吗?
【问题讨论】:
标签: c# wpf multithreading c#-4.0 dispatcher