提问者:小点点

如何将图像控件居中在网格内?


有一个网格,我将一个图像控件放入网格中。我所做的:只需简单地将HorizontalAlignment和VerticalAlignment属性都改为“Center”。

然而,image控件的表现与其他控件不同。这个图像控制中心根据它的左上角如下所示:

我想知道它为什么会这样表现?

编辑这里是我的XAML:

<UserControl x:Class="Entity.WPF.Controls.ShopProfile"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         mc:Ignorable="d" 
         d:DesignHeight="600" d:DesignWidth="780">
<Grid>

    <DockPanel >
        <Grid>

            <Image  HorizontalAlignment="Center" Height="100" Margin="0" VerticalAlignment="Center" Width="100"/>
        </Grid>
    </DockPanel>
</Grid>

null

如果我设置margin=“-50,-50,0,0”这样的边距,它实际上是居中的,但是为什么其他控件不需要这个设置呢?


共1个答案

匿名用户

这很有趣,我不知道为什么会发生这种情况,或者它是否在某个地方有记录。

要回答您的问题,如何在网格内居中图像控件,只需删除这些属性,图像就会自动在网格中居中。

<Grid>
    <Image Height="100" Margin="0" Width="100" />
</Grid>