我如何使一个ListView拉伸填充在WPF列的高度?



我有一个ListView控件。我想让它拉伸到填充一列的整个长度。为了实现这一点,我将ColumnDefinition设置为"*"。我将ListViewVerticalAlignment属性设置为Stretch,用于ListView及其包含元素。

目前,ListView只会在数据显示在里面时增加大小。

我如何使ListView拉伸到列的大小,无论里面显示什么数据?

下面是我的XAML文件的示例版本。它显示VerticalAllignment被设置为在ListView和所有包含元素上拉伸:

<Grid>
<TabControl>
<TabItem Header="Main" 
Margin="1,-1,-2,1">
<Grid Background="#FFE5E5E5" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>

<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Border BorderBrush="Black" 
BorderThickness=".5" 
Padding="4"
Grid.Column="0"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch">
<StackPanel Orientation="Vertical" 
VerticalAlignment="Stretch" 
HorizontalAlignment="Stretch" >
<ListView x:Name="FilesDisplayed"  
ItemsSource="{Binding AllFilePaths}" 
SelectionChanged="FilesDisplayed_SelectionChanged" 
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
ScrollViewer.HorizontalScrollBarVisibility="Visible"
ScrollViewer.VerticalScrollBarVisibility="Visible"/>

当您希望内部元素填充外部空间时,请避免使用StackPanel。将其替换为Grid,并使用Grid.ColumnDefinitionsGrid.RowDefinitions来调整位置。

相关内容

  • 没有找到相关文章

最新更新