根据他的孩子XAML将元素居中

时间:2015-07-28 12:21:44

标签: wpf xaml

在我的项目中,Canvas内有一个Button.Template,如下面的代码所示。我使用这个画布加载图像,,不幸的是,它不是按钮的中心。

现在我想将这个图像作为网格的中心,但我只能成功地使按钮居中(所以我的关联图像不在中心)。所以我要么想要一个方法:

  • 根据图像
  • 使按钮+图像居中
  • 使图像以按钮为中心,以便以任何一个为中心

    <Button Click="button1_Click" HorizontalAlignment="Center" VerticalAlignment="Center">
        <Button.Template>
            <ControlTemplate>
                <Canvas>
                    <Image Stretch="UniformToFill" Height="120" Width="120" Source="D:\Public\Charger_boutton.png"/>
                    <TextBlock Canvas.Left="-10" Canvas.Top="125" FontFamily="Arial" FontSize="20" FontWeight="Bold" Text="Préparer"/>
                </Canvas>
            </ControlTemplate>
        </Button.Template>
    </Button>
    

我尝试将HorizontalAlignment="Center" VerticalAlignment="Center放在图片内(而不是按钮),效果不佳。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

使用网格

代替Canvas
<Button Click="button1_Click" HorizontalAlignment="Center" VerticalAlignment="Center">
    <Button.Template>
        <ControlTemplate>
            <Grid>
                <Image Height="120" Width="120" Source="D:\Public\Charger_boutton.png" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" FontFamily="Arial" FontSize="20" FontWeight="Bold" Text="Préparer"/>
            </Grid>
        </ControlTemplate>
    </Button.Template>
</Button>