使GridView在WPF中保持最新

本文关键字:最新 WPF GridView | 更新日期: 2023-09-27 17:53:18

我是一个。net开发人员,从Winforms迁移到WPF,遇到了一个常见的问题,我想找到一个WPF特定的解决方案。我有一个GridView它在SQL中绑定到一个表。我碰巧使用MVVM,所以这是间接完成的,GridView实际上被绑定到一个ViewModel,从实体模型获得它的数据。在Winforms中,为了在一定程度上实时地保持同步,我将有一个后台线程,它将经常搜索更新并获得SQL表数据的最新版本。当然,我可以在WPF中做到这一点,但我想知道在WPF中是否有更好的方法来做到这一点,在WPF中,UI可以真正"实时"地更新表。该应用程序将在许多机器上运行,所以当本地用户通过应用程序以某种方式更改数据时,我无法简单地获得更新。刷新按钮很糟糕,所以我也不想这样做。在WPF中有最佳实践吗?

使GridView在WPF中保持最新

民意调查方法仍然是合理的。就"更好"的方式而言,在ADO中有设置通知(例如查询更改通知)的方法。使用SQL 2005或更新版本。NET。但是,这不是WPF特定的实现,可以应用于windows窗体。

当然,我会做得非常相似,即一个后台线程轮询,然后更新绑定集合。如果您想要双工通信,您可以这样做以避免轮询,但它会带来自己的问题,并且与WPF没有任何关系。有几件事要记住:

  • 使用ObservableCollection作为ItemsSource。这样你就可以输入"增量"的变化,这将使服务器通信保持在最低限度。
  • 使用Dispatcher。在后台修改ObservableCollection时调用,否则…