找出文本框文本在mvvm模式中是否一秒钟没有变化

用户名

谁能帮我找出我的TextBox文本在MVVM模式下(使用WPF)在一秒钟内没有变化。

在我的ViewModel中,我有一个属性

public String SearchText
{
    get
    {
        return _searchString;
    }

    set
    {
        _searchString = value;
        _functionProvidersView.Refresh();
    }
}

_functionProvidersViewType是哪里ObservableCollection<FunctionProviderViewModel>我希望只有在文本一秒钟没有变化的情况下才能进行刷新。

我试图用解决这个问题,System.Threading但没有成功,有人有简单的解决方案吗?

编辑:基于SearchText我的收藏集被过滤。并且由于我的过滤器机制需要花费一些时间,因此我希望仅当用户在一秒钟内未更改文本框文本(未键入任何内容)时才进行过滤。

TextBox属性UpdateSourceTrigger设置为PropertyChanged我可以将其设置为,LostFocus但这并不是我想要的...

阿尔贝托

一种方法是使用计时器来延迟刷新调用:

public class MainVm
{
    System.Threading.Timer timer;

    private string searchText = string.Empty;
    public string SearchText
    {
        get { return searchText; }
        set
        {
            searchText = value;

            timer.Change(1000, System.Threading.Timeout.Infinite); //reset the timer
        }
    }

    public MainVm()
    {
        timer = new System.Threading.Timer(RefreshView, 
                                           null, 
                                           System.Threading.Timeout.Infinite,
                                           System.Threading.Timeout.Infinite);
    }

    private void RefreshView(object state)
    {
        //Here you need to use the dispatcher because the callback is called
        //from a non-UI thread
        Application.Current.Dispatcher.Invoke(new Action(() =>
            _functionProvidersView.Refresh()
        );
    }
}

通过这种方式,RefreshView方法将在您停止输入1秒钟后调用

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Java中仅一秒钟更改文本框的背景颜色?

来自分类Dev

如何在Java中仅一秒钟更改文本框的背景颜色?

来自分类Dev

一秒钟后将输入字段占位符(文本框水印)隐藏在焦点上

来自分类Dev

一秒钟后将输入字段占位符(文本框水印)隐藏在焦点上

来自分类Dev

在TextBox中查看输入文本一秒钟,然后更改为passwordchar

来自分类Dev

电脑当机,Bluescreen出现不到一秒钟,没有小型转储

来自分类Dev

一秒钟的JavaScript真的是一秒钟吗?

来自分类Dev

一秒钟的JavaScript真的是一秒钟吗?

来自分类Dev

软件在任务栏中仅闪烁一秒钟。如何找出它是什么软件?

来自分类Dev

使用supertest和mongoose进行测试运行后,Jest没有退出一秒钟

来自分类Dev

测试运行一秒钟后,Jest没有退出。Firebase rt db

来自分类Dev

如何在PIC组件中的PIC16F1938上实现一秒钟的时钟以点亮一秒钟?

来自分类Dev

一秒钟内查询数量很高。

来自分类Dev

一秒钟后边界半径消失

来自分类Dev

一秒钟后悬停消失

来自分类Dev

如何显示图像一秒钟?SWIFTUI

来自分类Dev

骨干视图仅渲染一秒钟

来自分类Dev

需要循环睡眠一秒钟的时间

来自分类Dev

一秒钟后边界半径消失

来自分类Dev

花费一秒钟锁定屏幕

来自分类Dev

显示登录页面一秒钟

来自分类Dev

录制一秒钟的视频Swift?

来自分类Dev

一秒钟后在android中调用另一个意图

来自分类Dev

一秒钟后关闭所有终端程序

来自分类Dev

如何在JavaScript中在一秒钟内准确执行1000次代码

来自分类Dev

如何在mssql中花一秒钟的时间

来自分类Dev

一秒钟后如何在Android Studio中自动更改图像?

来自分类Dev

一秒钟后,Windows 8中的Wifi会自行杀死

来自分类Dev

如何在C中的两个printf之间等待一秒钟?

Related 相关文章

  1. 1

    如何在Java中仅一秒钟更改文本框的背景颜色?

  2. 2

    如何在Java中仅一秒钟更改文本框的背景颜色?

  3. 3

    一秒钟后将输入字段占位符(文本框水印)隐藏在焦点上

  4. 4

    一秒钟后将输入字段占位符(文本框水印)隐藏在焦点上

  5. 5

    在TextBox中查看输入文本一秒钟,然后更改为passwordchar

  6. 6

    电脑当机,Bluescreen出现不到一秒钟,没有小型转储

  7. 7

    一秒钟的JavaScript真的是一秒钟吗?

  8. 8

    一秒钟的JavaScript真的是一秒钟吗?

  9. 9

    软件在任务栏中仅闪烁一秒钟。如何找出它是什么软件?

  10. 10

    使用supertest和mongoose进行测试运行后,Jest没有退出一秒钟

  11. 11

    测试运行一秒钟后,Jest没有退出。Firebase rt db

  12. 12

    如何在PIC组件中的PIC16F1938上实现一秒钟的时钟以点亮一秒钟?

  13. 13

    一秒钟内查询数量很高。

  14. 14

    一秒钟后边界半径消失

  15. 15

    一秒钟后悬停消失

  16. 16

    如何显示图像一秒钟?SWIFTUI

  17. 17

    骨干视图仅渲染一秒钟

  18. 18

    需要循环睡眠一秒钟的时间

  19. 19

    一秒钟后边界半径消失

  20. 20

    花费一秒钟锁定屏幕

  21. 21

    显示登录页面一秒钟

  22. 22

    录制一秒钟的视频Swift?

  23. 23

    一秒钟后在android中调用另一个意图

  24. 24

    一秒钟后关闭所有终端程序

  25. 25

    如何在JavaScript中在一秒钟内准确执行1000次代码

  26. 26

    如何在mssql中花一秒钟的时间

  27. 27

    一秒钟后如何在Android Studio中自动更改图像?

  28. 28

    一秒钟后,Windows 8中的Wifi会自行杀死

  29. 29

    如何在C中的两个printf之间等待一秒钟?

热门标签

归档