繁体   English   中英

WPF DataGrid 绑定性能问题

[英]WPF DataGrid Binding Performance Issue

我的数据网格有许多以编程方式添加的列。

dgData.Columns.Add(new DataGridTextColumn { Width=50, Header = e.Naam, Binding = new Binding(String.Format("Figures[{0}]", e.Id)) });

设置为数据网格的项源的集合是数据项的集合

public class Data
{
    private string _set = "";
    public string Set
    {
        get { return _set; }
        set { _set = value; }
    }

    private Dictionary<long, int> _figures;
    public Dictionary<long, int> Figures
    {
        get { return _figures; }
        set { _figures = value; }
    }
}

当我将集合设置为 itemssource 时,datagrid 需要很长时间才能填充数据,有时(大约 25 列)长达 30 秒或更长时间!

我的 XAML 非常干净:

<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding}" Name="dgData">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Set" Binding="{Binding Set}" Width="100"/>
    </DataGrid.Columns>
</DataGrid>

是否有任何提示可以提高此绑定的性能? 如果我删除绑定,在创建列时,它可以正常运行!

请尝试将EnableColumnsVirtualizationEnableRowVirtualization属性都设置为 true,至少这会提高填充性能,尽管滚动仍然会很慢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM