ScrollViewer не включен для ListView - PullRequest
5 голосов
/ 30 января 2012

У меня есть ListView элемент управления внутри UserControl. Но когда содержимое переполняется размером ListView, вертикальная ScrollBar не включается, несмотря на установку в XAML.

enter image description here

XAML выглядит следующим образом:

<UserControl x:Class="GrandSuccessProject.View.ContactsView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="367" d:DesignWidth="548" Background="{x:Null}" VerticalContentAlignment="Top">

<ListView ScrollViewer.CanContentScroll="True" 
          ScrollViewer.VerticalScrollBarVisibility="Visible" 
          ItemsSource="{Binding SelectedContacts}"  
          ItemContainerStyle="{StaticResource ContainerStyle}" 
          Grid.Row="1" 
          VerticalAlignment="Top" 
          VerticalContentAlignment="Top" />      

</UserControl>

Я также пытался сгруппировать ListView внутри ScrollViewer, но все равно не работает.

Заранее большое спасибо:)

Ответы [ 2 ]

6 голосов
/ 30 января 2012

Это выглядит как

  1. ListView занимает все пространство, необходимое для всех элементов, поэтому прокрутка отключена.
  2. ListView превышает границы своего контейнера.

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

0 голосов
/ 14 августа 2018

Я решил, передав высоту и ширину из главного окна в пользовательский контроль:

 <UC:UC Width="{Binding ElementName=GridMainWindow, Path=ActualWidth}" 
    Height="{Binding ElementName=GridMainWindow, Path=ActualHeight}"/>

И внутри usercontrol я определил Gridview следующим образом:

<Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" /> <!--This inherith from the window-->
</Grid.ColumnDefinitions>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...