我正在对列表视图控件中的项目进行过滤。当项目应该被过滤掉时,我将该项目的可见性更改为 Visibility.Collapsed。
在 Windows 7 中它运行良好:http ://www.imagebam.com/image/4c8cab240432140
在 Windows 8 上折叠的项目没有完全折叠,并留下大约 4 像素的空白空间:http ://www.imagebam.com/image/6ab32b240431990
XAML 项目模板:
<ListView.ItemTemplate>
<DataTemplate DataType="ItemOfInterest">
<DockPanel Visibility="{Binding Visible}">
<StackPanel DockPanel.Dock="Top" Orientation="Horizontal">
<TextBlock FontSize="15" Padding="1,0,0,0" TextWrapping="NoWrap" Text="{Binding Path=Title}" Foreground="{Binding Color}"></TextBlock>
<TextBlock FontSize="11" Padding="10,0,0,0" VerticalAlignment="Bottom" TextWrapping="Wrap" Foreground="Gray" Text="{Binding Path=Owner}"></TextBlock>
<TextBlock FontSize="12" Padding="10,0,0,0" VerticalAlignment="Bottom" TextWrapping="Wrap" Foreground="White" Text="{Binding Path=StashName}"></TextBlock>
<TextBlock FontSize="11" Padding="10,0,0,0" VerticalAlignment="Bottom" TextWrapping="Wrap" Foreground="Gray" Text="{Binding Path=StashPos}"></TextBlock>
</StackPanel>
<TextBlock DockPanel.Dock="Bottom" FontSize="11" Padding="10,0,0,0" Visibility="{Binding DisplayExtraLine}" TextWrapping="Wrap" Foreground="Gray" Text="{Binding Path=ExtraLine}"></TextBlock>
</DockPanel>
</DataTemplate>
</ListView.ItemTemplate>
任何想法是什么原因造成的?或者绕过这个的唯一方法是在过滤掉项目时从列表中删除它们?