Я пытаюсь заставить сетку / расширитель переоценить, нужна ли ей полоса прокрутки, поскольку она показывает пустоту.
Я использую этот макет:
<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?