C# 如何删除这个额外的网格空间?
如何阻止网格垂直扩展并在行之间添加所有额外空间C# 如何删除这个额外的网格空间?,c#,xamarin,C#,Xamarin,如何阻止网格垂直扩展并在行之间添加所有额外空间 这就是它应该看起来的样子(忽略背景颜色的变化) 使用“自动”而不是“*” 这似乎是一个错误,网格高度被视为图像以其全高显示 <Grid BackgroundColor="CornflowerBlue"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width=
这就是它应该看起来的样子(忽略背景颜色的变化) 使用“自动”而不是“*”
这似乎是一个错误,网格高度被视为图像以其全高显示
<Grid BackgroundColor="CornflowerBlue">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Image Source="testsquare" />
<Image Source="testsquare" Grid.Column="1" />
</Grid>
在网格中有一个属性
网格
具有控制行和列之间间距的属性。以下属性可用于自定义网格:
- 列间距–列之间的空间量。此属性的默认值为
6
- 行间距–行与行之间的间距。此属性的默认值为
6
您可以设置行间距
或列间距
来检查是否可以解决此问题
<StackLayout Padding="5">
<Grid RowSpacing="5" ColumnSpacing="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Image Source="icon.png" BackgroundColor="Accent"/>
<Image Source="icon.png"
BackgroundColor="Accent"
Grid.Column="1" />
<Image Source="icon.png"
BackgroundColor="Accent"
Grid.Row="1" />
<Image Source="icon.png"
BackgroundColor="Accent"
Grid.Column="1"
Grid.Row="1" />
</Grid>
</StackLayout>
关于Image,Aspect
属性确定如何缩放图像以适应显示区域,使用Fill
或AspectFill
(默认值为AspectFit
)您已经确定了不希望发生的事情。您需要如何指定您希望发生的事情。我觉得这是相当明显的…@b由于网格中有一个间距属性,您可以查看我的答案,以检查它是否可以解决此问题。如果没有,您可以在GitHub中作为bug提交。@b您好,如果答案有帮助,感谢您在andvance中对其进行评分或投票。^*这对标签之类的东西很管用。。。但对于图像,一切都会变得一团糟,如果只是这4幅图像,你可以在父stackpanel中使用2个stackpanel来尝试,而不是仅使用4个。。我也尝试过使用stackpanels。结果更糟。嗯,我试着用WPF将所有*切换到自动,结果很好。图像之间没有更多的空间。但它将是原始图像的大小。形象不会被扭曲。可能是StackLayout造成的?我不能在WPFif中使用它,我将宽度设置为绝对值,如200,高度设置为*我得到了想要的效果。但我需要它的规模。
<Grid BackgroundColor="CornflowerBlue">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Image Source="testsquare" />
<Image Source="testsquare" Grid.Column="1" />
</Grid>
<StackLayout Padding="5">
<Grid RowSpacing="5" ColumnSpacing="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Image Source="icon.png" BackgroundColor="Accent"/>
<Image Source="icon.png"
BackgroundColor="Accent"
Grid.Column="1" />
<Image Source="icon.png"
BackgroundColor="Accent"
Grid.Row="1" />
<Image Source="icon.png"
BackgroundColor="Accent"
Grid.Column="1"
Grid.Row="1" />
</Grid>
</StackLayout>