我试图强制网格/扩展器重新评估它是否需要滚动条,因为它显示为空。
我正在使用这种布局:
<Grid>
<toolstrip /> <!-- fixed height row -->
<Scrollviewer> <!-- * height -->
<Grid> <!-- all rows are 'Auto' height -->
<Expander />
<Expander> <!-- this one stretches far too high -->
<WPF Toolkit: DataGrid />
<Expander>
<GridSplitter/>
<Expander />
<Grid>
</Scrollviewer>
<stackpanel /> <!-- fixed height row -->
<Grid>
DataGrid(WPF 工具包)在 Window 初始化时绑定到一个属性。通过一些调查,我意识到当窗口初始化时,GridView 中的列从大约 10 像素宽开始,然后添加内容,然后根据 XAML 中的大小调整它们的大小(全部使用星宽- 例如:2*)。这会导致网格的大小调整为窗口显示所需高度的 6 倍左右,然后它不会弹回,查看窗口底部的唯一方法是滚动或移动 GridSplitter备份到它应该在的位置并调整窗口的大小。我没有在任何东西上设置 VerticalAlignment 属性。
到目前为止,我已经在问题扩展器和 InvalidateArrange()、InvalidateScrollInfo()、InvalidateVisual() 和 UpdateLayout() 上尝试了以下所有方法,称为 InvalidateArrange()、InvalidateVisual();、InvalidateMeasure() 和 UpdateLayout()高于它,但它不会缩回。
有什么办法可以强制它不强制 DataGrid 中列的宽度?