WPF настроить высоту сетки в соответствии с содержимым списка - PullRequest
0 голосов
/ 16 сентября 2009

У меня есть просмотр списка с несколькими строками, проблема в том, что даже если вертикальная полоса прокрутки видна, она не работает, я объясняю, кажется, что, поскольку высота сетки равна Авто, тогда нет максимальной высоты и все содержимое отображается, даже если часть его не видна, единственное решение, которое я нашел, состоит в том, чтобы установить высоту пикселя для сетки, например, 600, а затем вы можете прокрутить содержимое списка, но, очевидно, это не очень хорошее решение, так как я хотел бы, чтобы высота определялась его контейнером, я пытался связать свойство высоты с ActualHeight объекта TabItem, но это тоже не работает, я в отчаянии, так что если кто-нибудь знает, как решить эта проблема, я был бы очень признателен, спасибо заранее.

Ниже в основном код, который я использую.

<TabItem Header="Orders">
     <Grid Height="Auto">
         <ScrollViewer>
              <ListView ScrollViewer.VerticalScrollBarVisibility="Visible"
                        ScrollViewer.CanContentScroll="True" >
               </ListView>
          </ScrollViewer>
     </Grid>
</TabItem>

Ответы [ 3 ]

1 голос
/ 11 июля 2011

Я думаю, проблема в том, что ваша Высота = "Авто" увеличивает сетку для отображения всех строк.
Установите для высоты и ширины строки сетки значение * со средством заполнения контейнера (вкладка)

   <Grid.RowDefinitions>
        <RowDefinition Height="*"></RowDefinition>
   </Grid.RowDefinitions>
   <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"></ColumnDefinition>
   </Grid.ColumnDefinitions>
   <Listview Grid.Row="0" Grid.Column="0" />
0 голосов
/ 16 сентября 2009

на самом деле просмотр списка имеет встроенный просмотрщик прокрутки, поэтому я удалил его, однако проблема остается такой же, теперь у меня есть следующее:

<TabItem Header="Orders">
     <Grid Height="Auto" Margin="0,0,0,0">
          <ListView ItemsSource="{Binding}" HorizontalAlignment="Stretch" 
                    x:Name="listViewOrdenes" 
                    ScrollViewer.VerticalScrollBarVisibility="Visible">
          </ListView>
     </Grid>
 </TabItem>
0 голосов
/ 16 сентября 2009

Я полагаю, что проблема может заключаться в том, что у вас есть средство просмотра прокрутки, окружающее элемент управления (ListView) со встроенным средством просмотра прокрутки. Попробуйте удалить внешний ScrollViewer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...