动态大小图像上的边框

时间:2014-04-16 06:36:35

标签: c# wpf xaml

我在Image内有Grid

<Grid>
    <Image Stretch="Uniform" 
           HorizontalAlignment="Stretch" 
           VerticalAlignment="Stretch" />
</Grid>

由于拉伸设置为Uniform,因此不会完全填充网格。图像源也在不断变化,每个源可能具有完全不同的宽度和高度。

我想在图片周围放一个Border,我该怎么做?如果我简单地说:

<Grid>
    <Border Width="{Binding ElementName="myImage", Path=RenderedSize.Width}" 
            Height="{Binding ElementName="myImage", Path=RenderedSize.Height}">
        <Image x:Name="myImage"
               ... />
    </Border>
</Grid>

它将包裹整个网格,而不仅仅是Uniform图像。

1 个答案:

答案 0 :(得分:1)

在边框上将 HorizontalAlignment VerticalAlignment 设置为 Center 。 默认值为 Stretch ,因此它会延伸以填充整个网格。

<Border HorizontalAlignment="Center" VerticalAlignment="Center">
   <Image x:Name="myImage"/>
</Border>
相关问题