Я пытаюсь заставить сетку/расширитель переоценить, нужна ли ему полоса прокрутки, так как она показывает пустоту.
Я использую этот макет:
<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 Toolkit) привязывается к свойству при инициализации окна. В ходе некоторых исследований я понял, что при инициализации окна столбцы в GridView начинаются примерно с 10 пикселей в ширину, затем добавляется содержимое, затем их размер изменяется в зависимости от размеров в XAML (все с использованием ширины звезды - например: 2*). Это приводит к изменению размера сетки примерно в 6 раз по сравнению с высотой, которая должна быть при отображении окна, затем она не отскакивает назад, и единственный способ увидеть, что находится внизу окна, - это прокрутить или переместить GridSplitter. вернитесь туда, где он должен быть, и измените размер окна. Я ничего не устанавливал в свойствах VerticalAlignment.
До сих пор я пробовал все следующие функции, называемые InvalidateArrange(), InvalidateVisual();, InvalidateMeasure() и UpdateLayout() в расширителе задач и InvalidateArrange(), InvalidateScrollInfo(), InvalidateVisual() и UpdateLayout() в сетке. над ним, но он не сжимается.
Можно ли каким-либо образом заставить его сократить ширину столбцов в DataGrid?