如何使网格内的图像控件居中?

Posted

技术标签:

【中文标题】如何使网格内的图像控件居中?【英文标题】:How to center the image control inside Grid? 【发布时间】:2014-09-26 11:14:19 【问题描述】:

有一个 Grid,我将一个 Image 控件放到 Grid 中。 我做什么:只需将属性-Horizo​​ntalAlignment 和 VerticalAlignment 都更改为“Center”。

但是,图像控件的执行方式与其他控件不同。此图像控制中心本身根据其左上角如下所示:

我想知道它为什么会这样执行?

编辑 这是我的 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="-50,-50,0,0"这样的margin,它实际上是居中的,但是为什么其他控件不需要这个设置呢?

【问题讨论】:

你有Margins设置吗? 如何处理 【参考方案1】:

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

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

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

【讨论】:

谢谢,它有效。但我仍然会尝试弄清楚。

以上是关于如何使网格内的图像控件居中?的主要内容,如果未能解决你的问题,请参考以下文章

如何使整个图像比较滑块居中

如何将 AG 网格控件的标题中的文本居中?

CSS:对象覆盖不使图像居中

如何使css网格项目始终居中[重复]

将网格控件中的多边形居中

如何使div内的元素居中