【发布时间】:2016-12-22 14:58:54
【问题描述】:
我有一个 WPF 项目,其 DataGrid 绑定到可观察集合。
此集合使用异步方法填充,当我调用此异步方法时,会向用户显示带有进度环的动画。
当集合在等待数据时,一切工作都没有延迟,但是当 DataGrid 用项目填充自身时,进度环动画停止工作 1 秒或 2 秒,直到 DataGrid 加载所有记录(这集合可能有 50,000 条或更多记录)。我只是想知道当DataGrid 使用从集合返回的信息填充自身时是否有办法不锁定动画。
设置如下: 我有一个带有隐藏用户控件的主窗口,该控件使用名为 IsLoading 的属性显示/隐藏动画。当此用户控件可见时,它会锁定其后面的所有用户对象。
代码是
<Grid>
<local:LoadingOverlayView
DataContext="{Binding Assets}"
d:IsHidden ="True"
Visibility="{Binding IsLoading,
Converter={StaticResource BoolToVisibilityConverter},
UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
【问题讨论】:
-
您是否尝试为动画使用不同的线程?
-
你能举个例子吗?
-
你需要使用BackGroundWorker,也可以通过这个How to use WPF Background Worker
标签: c# wpf wpf-controls wpfdatagrid