Jan*_*nis 2 xaml winrt-xaml uwp
我想创建一个图像网格,它们之间没有任何边距.我试图通过一个实现这一点GridView.如果有更简单的方法,请告诉我.
我在StackOverflow上找到了这个答案:
结束了这段代码:
<Page.Resources>
<Style x:Key="MyGridViewItemStyle" TargetType="GridViewItem">
<Setter Property="Padding" Value="0" />
<Setter Property="Margin" Value="0" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GridViewItem">
<GridViewItemPresenter ContentMargin="0" Padding="0" Margin="0" BorderThickness="0"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Page.Resources>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<StackPanel>
<GridView ItemsSource="{x:Bind FieldList}" Margin="0,50,0,0" Padding="0" BorderThickness="0" ItemContainerStyle="{StaticResource MyGridViewItemStyle}" IsItemClickEnabled="True" ItemClick="OnItemClick">
<GridView.ItemTemplate>
<DataTemplate x:DataType="data:Field">
<Image Width="20" Height="20" Margin="0" Source="{x:Bind ImagePath}"/>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
<TextBlock x:Name="text">Hallo!</TextBlock>
</StackPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)
但仍然有一个余地: 截图
我也尝试使用负边距,但是当我使用它们时,点击不再被正确识别.
如何删除边距?
看起来GridViewItem的默认MinWidth为44px.
您可以通过GridViewItemStyle将其设置为0:
<Setter Property="MinWidth" Value="0" />
Run Code Online (Sandbox Code Playgroud)
编辑:它也有一个默认的MinHeight,您可能也想将其设置为0.
| 归档时间: |
|
| 查看次数: |
1973 次 |
| 最近记录: |