如何在WPF中使两个图像重叠?

3
我有以下XAML代码,它显示了一个边框内的图片和一个徽标。目前,徽标出现在图片下方。这是可以预料的,但是我的目标是将徽标放在图片上面(精确地说,在右下角)。有人有什么想法吗?在WPF中有层吗?
注意:我绝对需要保留WrapPanel。
<WrapPanel>
    <Border BorderBrush="Gray" BorderThickness="1" Margin="3">
        <Border BorderBrush="White" BorderThickness="3">
            <Border BorderBrush="LightGray" BorderThickness="0.5">
                <Image Source="http://farm1.static.flickr.com/2/1703693_687c42c89f_s.jpg" Stretch="Uniform" />
            </Border>
        </Border>
    </Border>
    <Image Source="http://l.yimg.com/g/images/flickr_logo_gamma.gif.v59899.14" Height="10" />
</WrapPanel>
2个回答

16

你应该能够按照以下方式进行操作:

<WrapPanel>
    <Grid>
        <Border BorderBrush="Gray" BorderThickness="1" Margin="3">
            <Border BorderBrush="White" BorderThickness="3">
                <Border BorderBrush="LightGray" BorderThickness="0.5">
                    <Image Source="http://farm1.static.flickr.com/2/1703693_687c42c89f_s.jpg" Stretch="Uniform" />
                </Border>
            </Border>
        </Border>
        <Image Margin="5" HorizontalAlignment="Right" VerticalAlignment="Bottom" Source="http://l.yimg.com/g/images/flickr_logo_gamma.gif.v59899.14" Height="10" />
    </Grid>
</WrapPanel>

如果不指定任何行或列,我们的网格将把这两个项目放在第0行第0列,并将它们堆叠在一起。第二张图片设置了水平和垂直对齐方式,使其显示在右下角,我还添加了一些边距来提高第二张图片的位置,否则它会坐落在边框上,我猜这不是你想要的?


1
将您的图片和标志放入Canvas元素中,并根据需要进行定位(Canvas.Top、Canvas.Left等)。

WrapPanel使项目换行,而不是重叠。您能将画布放在WrapPanel内吗? - John Batdorf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接