WPF: запуск изменения размера содержимого с помощью GridSplitter - PullRequest
0 голосов
/ 06 июня 2009

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

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

<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 Ответ

0 голосов
/ 06 июня 2009

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

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

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

...