WPF画布上的完美中心

Sco*_*ate 3 wpf layout canvas

由于画布需要顶部/左侧放置,如果你想要居中的东西,是在适当的Canvas.Top上添加一个网格,使用Horizo​​ntalAlignment ="Center"这是最好的方法,还是有更好的方法?

这个剪辑是一个150X300的画布,一些内容以网格为中心....

<Canvas Width="150" Height="300">
    <Grid Canvas.Top="75" Width="106" HorizontalAlignment="Center">
        {whatever you want centered}
    </Grid>
</Canvas>
Run Code Online (Sandbox Code Playgroud)

mic*_*tan 7

Guy的解决方案有效,但如果您正在进行热门测试,则可能需要调整z顺序和可见性.

另一种方法是在Canvas中使用Grid(如您在XAML中指定的那样),将Height/Width设置为(或绑定到)Canvas的高度/宽度.然后将Horizo​​ntalAlignment/VerticalAlignment设置为Center以获取Grid的内容.