2013-06-06 7 views
4

Я показываю коллекцию элементов в ListView. Коллекция достаточно длинная, чтобы показать VerticalScrollBar в ListView, но она не работает.WPF ListView VerticalScrollBar не отображается

Мой XAML:

<UserControl> 
    <Grid> 
     <ListView ItemsSource="{Binding MyCollection}"> 
      <ListView.View> 
       <GridView> 
        <GridView.Columns> 
         <GridViewColumn DisplayMemberBinding="{Binding MyProperty}" Header="MyProperty" /> 
         ... 
        </GridView.Columns> 
       </GridView> 
      </ListView.View> 
     </ListView> 
    </Grid> 
</UserControl> 

Моя UserControl используется так:

<Window> 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto" /> 
      <RowDefinition Height="*" /> 
     </Grid.RowDefinitions> 
     <Menu Grid.Row="0" IsMainMenu="True"> 
      <MenuItem Header="_File" /> 
      ... 
     </Menu> 
     <TabControl Grid.Row="1" > 
      <TabItem Header="myUserControl"> 
       <views:MyUserControl /> 
      </TabItem> 
      ... 
     </TabControl> 
     ... 
    </Grid> 
</Window> 
+0

Вопрос в том, где вы используете свой 'UserControl'. В настоящее время ваш 'UserControl' будет регулировать высоту до' ListView', который будет расти, чтобы разместить все элементы, если вы дадите ему spece. – dkozl

+0

I'v обновил мой вопрос и добавил, где и как используется мой пользовательский элемент управления. – Stacked

+0

Я следил за вашим примером, и мой «ListView» показывает вертикальную полосу прокрутки так же, как и должен. Вы уверены, что у вашего 'Window' нет чего-то типа' SizeToContent'? Отображает ли 'ListView' все элементы или некоторые из них? – dkozl

ответ

8

Нашел. Высота Grid изменено с "Auto" до "*".

<!-- Row where the ListView is shown --> 
<RowDefinition Height="*" /> 
Смежные вопросы