Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataGrid.Measure()操作列宽_C#_Wpf_Datagrid_Measure - Fatal编程技术网

C# DataGrid.Measure()操作列宽

C# DataGrid.Measure()操作列宽,c#,wpf,datagrid,measure,C#,Wpf,Datagrid,Measure,我发现WPF DataGrid的Measure()函数有问题。 如果将我的DataGrid列上的DataGridLength设置为datagridlengthunitype.Star,每次调用DataGrid的Measure()函数时,所有DataGrid的列宽都设置为30px左右。有人知道为什么度量函数会这样做?到底为什么它要操纵我的专栏?它不应该仅仅测量我的数据网格的大小吗 编辑:将myScrollContentPresenter的CanContentScroll属性设置为false后,它工

我发现WPF DataGrid的
Measure()
函数有问题。 如果将我的
DataGrid
列上的
DataGridLength
设置为
datagridlengthunitype.Star
,每次调用
DataGrid
Measure()
函数时,所有DataGrid的列宽都设置为30px左右。有人知道为什么度量函数会这样做?到底为什么它要操纵我的专栏?它不应该仅仅测量我的数据网格的大小吗

编辑:将my
ScrollContentPresenter
CanContentScroll
属性设置为
false
后,它工作正常,但这会极大地降低my
datagrid
的速度。一些建议?:)


edit2:My columns是通过UIElement.Measure()方法通过DataGridColumnHeadersPresenter创建的,该方法根据availableSize参数的值更新控件的DesiredSize属性。您正在设置的值可能比您希望的小。我会尝试设置一个较大的值,看看会发生什么。

顺便说一句,网格的大小保持不变!!!只是列的宽度改变了