相关疑难解决方法(0)

WPF Datagrid性能

我正在使用WPF Toolkit数据网格,此刻滚动速度非常慢.网格有84列和805行.(包括3个固定列和标题是固定的.)水平和垂直滚动非常慢.虚拟化已打开,我已在xaml中明确启用了列虚拟化和行虚拟化.有什么需要注意的,这可以真正影响性能,例如绑定方法,或每个celltemplate中的xaml是什么?

需要注意的一点是,我在创建datagrid时动态添加列.这会影响到什么吗?(我还同时动态创建celltemplate,以便我的绑定设置正确.)

以下是生成的大多数单元格的模板代码.基本上我需要动态添加的列(大多数是这些),我遍历我的列表并使用AddColumn方法添加列,另外我动态构建模板,以便绑定语句正确索引集合中的正确项目该专栏.模板不是太复杂,只有两个TextBlocks,但我确实在每个上绑定了四个不同的属性.通过更改绑定到OneWay,我似乎能够挤出更多性能:

 private void AddColumn(string s, int index)
    {
        DataGridTemplateColumn column = new DataGridTemplateColumn();
        column.Header = s;
        //Set template for inner cell's two rectangles
        column.CellTemplate = CreateFactViewModelTemplate(index);
        //Set Style for header, ie rotate 90 degrees
        column.HeaderStyle = (Style)dgMatrix.Resources["HeaderRotateStyle"];
        column.Width = DataGridLength.Auto;
        dgMatrix.Columns.Add(column);
    }


    //this method builds the template for each column in order to properly bind the rectangles to their color
    private static DataTemplate CreateFactViewModelTemplate(int index)
    {
        string xamlTemplateFormat =
            @"<DataTemplate xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation""
            xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"">
            <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition …
Run Code Online (Sandbox Code Playgroud)

wpf performance datagrid

31
推荐指数
3
解决办法
3万
查看次数

WPF ToolKit DataGrid性能

我有一个带有6列的DataGrid,每列都是一个RadioButton,因此用户可以选择1/6选项.大约有100排.我用6 bool datamember创建一个自定义类,然后将datagrid绑定到大约100个自定义类对象的列表.有2个问题:

  1. 绑定时间非常慢
  2. 当我滚动数据网格时,某些行的检查值会消失.

绑定到像这样的大量数据时,datagrid是否存在任何已知问题?以及如何提高性能.我正在使用6月发布的WPF工具包

谢谢

P/S:您可以下载我的示例应用程序以确切了解问题 http://www.mediafire.com/file/jrmft4m4jwm/WpfApplication3.zip

wpf performance datagrid

8
推荐指数
1
解决办法
1561
查看次数

标签 统计

datagrid ×2

performance ×2

wpf ×2