JP *_*ons 0 wpf xaml win-universal-app
我试图使用网格(在网格内)
<Grid HorizontalAlignment="Stretch" Background="#2f1807" Grid.Column="1" Grid.Row="0">
<Grid.RowDefinitions>
<RowDefinition Height="71"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="505"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Source="Assets/logo.png" Height="71" Width="505" Grid.Column="1" Grid.Row="0" Stretch="None" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
图像的高度为71像素,宽度为505像素.这是输出:
所以水平中心工作,但没有垂直,图像宽度应该填满整个单元格.为什么这不起作用?
输出uniform:

image prop(抱歉荷兰语)尺寸为505宽度和71像素高度.

编辑为@YoupTube建议:
<Image
Source="Assets/logo.png"
Height="71"
Width="505"
Grid.Column="1"
Grid.Row="0"
MinWidth="505"
MinHeight="71"
VerticalAlignment="Center" />
Run Code Online (Sandbox Code Playgroud)
得到:

你的问题是,你已经限制Height的Grid,这样它的大小相同Image.解决的办法是去除Height上的设置RowDefinition(或删除整个RowDefinition),并让Grid填充其父容器的空间... 然后所述Image可垂直居中:
<Grid HorizontalAlignment="Stretch" Background="#2f1807" Grid.Column="1" Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="505"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Source="Assets/logo.png" Height="71" Width="505" Grid.Column="1"
Grid.Row="0" Stretch="None" HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
更新>>>
为了使您的Image垂直居中,它必须位于一个Height比值大的容器中Image.我看你Grid是在另一个Grid...如果Image占用了整个Height的这个Grid,那么你必须把这个Grid变成有更多的容器Height比这Grid和中心,与其:
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Center" Background="#2f1807"
Grid.Column="1" Grid.Row="0" MinHeight="150">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="505"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Source="Assets/logo.png" Height="71" Width="505" Grid.Column="1"
Grid.Row="0" Stretch="None" HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3267 次 |
| 最近记录: |