我们的应用程序以前是为Windows 8.1设计的。我们正在考虑将其移植到适用于Windows 10的通用Windows应用程序。通用Windows应用程序中奇怪的ListView行为
我们已注意到行为上的差异,特别是与ListView/ItemsControl。
- 倒塌的能见度现在是吃了空间。在Win 8.1中,展开的可见性没有额外的空间
- ListViewItems的其他边距,特别是如果ItemsPanel是水平。似乎总是有大约10px的右边距。
奇怪的是,对于第2点,将其更改为的GridView解决保证金问题。虽然第一个子弹仍然存在。
有没有其他人遇到过这个问题,你是如何解决它的?
谢谢
编辑:代码以供参考:
<GridView Grid.Row="1"
ItemsSource="{Binding Path=Tables}">
<GridView.ItemContainerStyle>
<Style TargetType="GridViewItem">
<Setter Property="VerticalContentAlignment" Value="Top" />
<Setter Property="Margin" Value="0" />
</Style>
</GridView.ItemContainerStyle>
<GridView.ItemTemplate>
<DataTemplate>
<Grid Visibility="{Binding Path=ShowTable, Converter={StaticResource BoolToVisConverter}}">
<!-- A lot of UI Element -->
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsStackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
这是我的代码。我跟踪了它,网格的可见性工作正常(true/false,正确设置可见性)。问题是,即使“网格”隐藏,“GridViewItem”似乎仍然占用空间。看来GridViewItem的宽度不会改变。在Windows 8.1应用程序中,没有空格。
这是一个错误?
折叠的物品不应占用空间。请分享一些代码。 ListBiewItem/GridViewItem在默认情况下为它们设置了一些间距。你必须改变* ItemContainerStyle *来摆脱它。 –
谢谢凯,我提供了代码参考。我在那里有ItemContainerStyle,但它似乎仍然不正确。 – Water