我如何使ListView仅显示可以将ScrollViewer.ContentCanScroll设置为true才能完全可视化的项目?我希望使我的ListView像WinForms的ListBox.IntegralHeight一样。
我已经尝试过此thread中的解决方案,但我的ListView仍显示“一半”项目。
<Grid Grid.Column="2"
x:Name="gridMatchSecion"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<ListBox ItemsSource="{Binding MatchingObservableCollection}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<local:HeightLimitedStackPanel IsItemsHost="True" Background="Red"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0"
Source="{Binding Detected, Converter={StaticResource WPFBitmapConverter}}" />
<Image Grid.Column="1"
Source="{Binding Matched, Converter={StaticResource WPFBitmapConverter}}" />
<Viewbox Grid.Column="2"
Stretch="Uniform"
Margin="10"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<TextBlock HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="{Binding Score, StringFormat=N2}"/>
</Viewbox>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
以上是我在xaml文件中编写的内容,并在上述线程中使用了解决方案。
上面的图像是我得到的结果,红色显示的面板是返回的高度,但是为什么仍然在堆栈面板之外显示项目?