WPF: запуск изменения размера содержимого с помощью GridSplitter

Я пытаюсь заставить сетку / расширитель пересмотреть, нужна ли ей полоса прокрутки, поскольку она показывает пустоту.

Я использую этот макет:

<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?

1 ответ

Попробуйте установить эти свойства в ScrollViewer:

<ScrollViewer CanContentScroll="True"
              VerticalScrollBarVisibility="Auto" 
              HorizontalScrollBarVisibility="Auto">
    ... content ...
</ScrollViewer>

Если это не сработает, можете ли вы предоставить более точное представление вашего XAML. Также может помочь подробное изучение ScrollViewer.

Другие вопросы по тегам