C# (XAML)UserControl在UserControl中,listview没有滚动条并显示整个内容

C# (XAML)UserControl在UserControl中,listview没有滚动条并显示整个内容,c#,wpf,xaml,user-controls,C#,Wpf,Xaml,User Controls,我想把两个用户控件放到另一个用户控件中。这是我想输入的用户控件 <UserControl x:Class="Project.MainModule.Views.ReportView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc

我想把两个用户控件放到另一个用户控件中。这是我想输入的用户控件

<UserControl x:Class="Project.MainModule.Views.ReportView"
         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" 
         xmlns:v="clr-namespace:Project.MainModule.Views"
         mc:Ignorable="d" 
         d:DesignHeight="300" d:DesignWidth="800">
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="120"></RowDefinition>
        <RowDefinition Height="*"></RowDefinition>
    </Grid.RowDefinitions>
    <v:ReportCommandsView Grid.Row="0"></v:ReportCommandsView>
     <v:LogItemListView Grid.Row="1" ></v:LogItemListView>
</Grid>
</UserControl>

第一个报告CommandsView运行良好。然而,当我将第二个usercontrol放入时,我遇到了问题。它有一个ListView,在ListView中,它有一个gridview来显示项目。这是xaml

<UserControl x:Class="Project.MainModule.Views.LogItemListView"
         x:Name="LogListView"
         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="300" d:DesignWidth="300">
<ListView Name="LogItemListListView" FontSize="14"  Grid.Row="0"
              ItemsSource="{Binding LogItems}" 
              SelectedItem="{Binding Mode=TwoWay, Path=CurrentLogItem}"
              AlternationCount="2"
              BorderThickness="0" Width="Auto"
              IsSynchronizedWithCurrentItem="True" 
              AutomationProperties.AutomationId="LogItemListGrid" 
              >

    <ListView.View>
            <GridView AllowsColumnReorder="true" ColumnHeaderToolTip="Log Items View" >
                <GridViewColumn Header="ID" DisplayMemberBinding="{Binding Path=ID}" Width="45"/>
                <GridViewColumn Header="Category"  DisplayMemberBinding="{Binding Path=Category.Description}" Width="120" />
                <GridViewColumn Header="Institution"  DisplayMemberBinding="{Binding Path=Institution.Description}" Width="140" />
                <GridViewColumn Header="Asset"  DisplayMemberBinding="{Binding Path=AssetCode}" Width="65" />
                <GridViewColumn Header="Reader"  DisplayMemberBinding="{Binding Path=Reader}" Width="100" />
                <GridViewColumn Header="Create Date"  DisplayMemberBinding="{Binding Path=CreateDate}" Width="170" />
            </GridView>
        </ListView.View>
    </ListView>
</UserControl>


我发现在第二个usercontrol的listview中,显示了数据,但没有滚动条。因为它显示了所有的数据。数据在屏幕底部。我试图设置最大高度,它可以工作,滚动条出来了。但这对我不好。我需要处理屏幕大小改变的问题。我能做什么?

你把
ReportView
控件放在哪里?是它,还是它的父控件之一,在
StackPanel
还是
Canvas
?我把它放在一个窗口中,在一个选项卡控件@dkozl内整个结构是一个主窗口,然后有一些选项卡控件,每个选项卡控件由几个用户控件组合而成。它是选项卡上唯一的控件吗?如果不是,那么您使用哪个面板在单个选项卡上组合多个控件?是的。ReportView是该选项卡上的唯一控件。但是ReportView由两个用户控件组成。其中一个控件是名为LogitemListView的listview。当数据不足时,显示正常。但是当数据太多的时候。它似乎没有滚动条让我向下滚动。它只是将数据显示在屏幕底部。