我在 Telerik WPF 分层网格视图中遇到了一点性能问题,并考虑了替代的第 3 方控件。
看看这个简单的场景(zip 项目) 它是一个 RadTreeListView,绑定到一个带有组合框的实体以扩展到每个级别。表演很垃圾。我正在使用轻量级 Metro (windows8) 样式,并按如下方式覆盖了 CreateCellElement(并按照推荐方式)。
public override FrameworkElement CreateCellElement(GridViewCell cell, object dataItem)
{
if (cell.Content != null && cell.DataContext == dataItem)
{
return (FrameworkElement)cell.Content;
}
return base.CreateCellElement(cell, dataItem);
}
打开它,拖动以填充屏幕的高度,将所有项目展开几级深度(使用左上角的组合)并滚动 - 它非常滞后。在我的工作版本中,类似的场景完全无法使用,我目前被迫遍历所有展开的行并调度“ExpandHierarchyItems”调用,这将 UI 捆绑了很长时间,只是为了防止可怕的滚动体验(极慢/庞大的 UI锁定,节点未扩展,没有子节点,错误级别的行)。最新版本的 Telerik WPF,windows 7 x64 - i7s 上慢,i5 上更慢。
我现在将这个简单的场景与替代方案(devexpress 等)进行比较......
有没有人对提高性能有任何建议?或者我会采取明确的“Telerik 无法提供比这更好的,并且(其他)会”作为答案。
来自http://www.telerik.com/community/forums/wpf/treelist/radtreelistview-poor-performance.aspx的交叉帖子