如何将网格中的图像控制居中?

时间:2014-08-04 02:08:33

标签: c# wpf image

有一个网格,我将一个Image控件放入网格中。 我的工作:只需将属性Horizo​​ntalAlignment和VerticalAlignment更改为' Center'。

然而,与其他控件不同,图像控制执行奇怪。这个图像控制中心本身按照其左上角如下:

enter image description here

我想知道为什么它以这种方式表现?

修改 这是我的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>

如果我设置保证金像Margin =&#34; -50,-50,0,0&#34;,它实际上是居中的,但为什么其他控件不需要这个设置?

1 个答案:

答案 0 :(得分:1)

这很有趣,我不确定为什么会发生这种情况,或者是否在某处记录。

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

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

enter image description here