【发布时间】:2014-10-17 12:28:23
【问题描述】:
所以我有一个数据网格,其内容都是从多个 Web 请求中填充的。展开后,rowdetails 还会发送多个 Web 请求以填充更多信息。
在行详细信息中,有一个 Listview、一个列表框、一些布局元素和一些文本块。
添加初始数据后,数据网格快速滚动,但如果您展开 4-5 行详细信息,突然滚动断断续续,几乎不存在。
这是一个已知问题吗?
我可以为每个项目重复使用相同的可视 rowdetails 元素吗?它仅在选中时显示,并且所有检索到的数据都被缓存,因此不需要在已查看的元素上重新加载它
一次不会展开多个行...行详细信息仅在选择项目时显示,并且您一次只能选择一个。问题是在您选择了几个不同的项目并生成了行详细信息视觉对象后,它会变慢。
【问题讨论】:
-
在您的需求中,是否需要一次展开多于一行,如果没有,那么您可以仅在选择的基础上设置行展开机制。
-
查看问题的附录
-
你的性能下降也是因为你使用的动画和你应用到你的内部数据网格的样式。所以你可以尝试的是你可以定义 style={x:null}然后您的子网格可以检查速度和性能。如果它符合您的期望,那么它是样式应用的问题。还有一件事是,您是否曾经在 DataGrid 绑定代码中使用过 UpdateLayout,那么请也将其删除。它也会产生巨大的影响。
-
这不是问题,看我的回答
-
也可以使用DeferredScrolling ScrollViewer.IsDeferredScrollingEnabled msdn.microsoft.com/en-us/library/…
标签: c# wpf datagrid rowdetails