在我的应用程序的主页上,我有类似这样的内容,显示不同的小节并尊重各节之间的 80 像素边距。
<GridView>
<GridView.Style>
<Style TargetType="GridView">
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="GridViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="Margin" Value="0, 0, 80, 0"/>
<Setter Property="VerticalContentAlignment" Value="Stretch" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GridViewItem">
<ContentPresenter/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Setter.Value>
</Setter>
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
</GridView.Style>
<Grid>
<TextBlock Text="SubTitle1"/>
...
</Grid>
<Grid>
<TextBlock Text="SubTitle2"/>
...
</Grid>
<Grid>
<TextBlock Text="SubTitle3"/>
...
</Grid>
</GridView>
现在我想向它添加语义缩放,这样当我缩小时,我看到的子部分标题有点像天气应用程序。我过去曾使用 ItemsSource 进行 SemanticZoom,但如果我将实际项目直接放入我的 GridView 并且没有进行分组,我该怎么做。
编辑:其他人如何处理创建这些以 80 像素分隔的单独子部分?为了让 SemanticZoom 工作,两个 GridView 都必须绑定到相同的集合吗?