C# DataGrid.Measure()操作列宽
我发现WPF DataGrid的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后,它工
Measure()
函数有问题。
如果将我的DataGrid
列上的DataGridLength
设置为datagridlengthunitype.Star
,每次调用DataGrid
的Measure()
函数时,所有DataGrid的列宽都设置为30px左右。有人知道为什么度量函数会这样做?到底为什么它要操纵我的专栏?它不应该仅仅测量我的数据网格的大小吗
编辑:将myScrollContentPresenter
的CanContentScroll
属性设置为false
后,它工作正常,但这会极大地降低mydatagrid
的速度。一些建议?:)
edit2:My columns是通过UIElement.Measure()方法通过DataGridColumnHeadersPresenter创建的,该方法根据availableSize参数的值更新控件的DesiredSize属性。您正在设置的值可能比您希望的小。我会尝试设置一个较大的值,看看会发生什么。顺便说一句,网格的大小保持不变!!!只是列的宽度改变了