相关疑难解决方法(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万
查看次数

为什么将ScrollViewer.CanContentScroll设置为false会禁用虚拟化

正如大多数WPF开发人员所知,设置ScrollViewer.CanContentScrollfalse禁用虚拟化; 但我想知道它是如何工作的,因为我尝试启用虚拟化,同时设置ScrollViewer.CanContentScrollfalse.

wpf virtualization ui-virtualization scrollviewer

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

SSMS中的网格控制

我在SSMS(SQL Server Management Studio 2016)中注意到,查询结果在一秒钟内返回(超过10k +行).结果表/网格滚动非常流畅,并且在SSMS上具有极低的内存占用(~80MB).这种类似网格/视图的控制方式可以执行ListView(~200MB,2-3秒)和DataGrid(~600MB,8-10秒).即使我关闭所有可视化或调整cancententscroll或修改其高度以优化速度,它们仍然在SSMS中远远落后于网格,仍然使用缓慢的滚动和GUI操作.

SSMS中使用的网格控制背后的原因是什么?

在此输入图像描述

c# sql-server wpf ssms winforms

14
推荐指数
1
解决办法
689
查看次数