C# ListView中的项拉伸不正确
我正在使用C# ListView中的项拉伸不正确,c#,wpf,xaml,windows-store-apps,C#,Wpf,Xaml,Windows Store Apps,我正在使用ListView作为GridView的项目模板。问题是我无法让listview中的文本框填充可用的垂直空间,相反,它只使用所需的空间: 为什么它会忽略我设置的verticalignment=“Stretch”I <ListView Margin="0,0,0,0" Width="200" SelectionMode="None"> <ListView.ItemsPanel> <ItemsPane
ListView
作为GridView
的项目模板。问题是我无法让listview中的文本框填充可用的垂直空间,相反,它只使用所需的空间:
为什么它会忽略我设置的verticalignment=“Stretch”
I
<ListView Margin="0,0,0,0"
Width="200"
SelectionMode="None">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListView.ItemContainerStyle>
<ComboBox>
<ComboBoxItem Tag="1" Content="1"/>
</ComboBox>
<TextBox AcceptsReturn="True" VerticalAlignment="Stretch" TextWrapping="Wrap" Text="Should fill everything" />
</ListView>
您必须以以下方式将ListView置于GridLayout中:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<ComboBox Grid.Row="0" .... />
<ListView Grid.Row="1" .... />
</Grid>
让我想知道ListView的有用性,因为如果我已经必须使用网格,我可以一直使用网格。但效果很好,网格不是DataGrid。网格是一个面板元素;它的目的是控制它所持有的元素的呈现()。相反,ListView能够显示数据元素。