Windows 8 Image UniformFill居中

Mat*_*man 25 xaml windows-8 windows-store-apps

我有一个小问题,我有一个组项目,我想给它一个背景图像,它应该缩放保持它的正确尺寸,但默认情况下,它显示左上角的图像,我希望图像居中.

这是一个进一步解释我的问题的插图.(灰色部分是剪裁的)

我的问题

我有这个XAML

<Image Source="/url/to/image.jpg" Stretch="UniformToFill"/>
Run Code Online (Sandbox Code Playgroud)

Mat*_*man 16

我设法解决了我的问题,我使图像比放置的容器大,并在中心垂直对齐.

<Grid HorizontalAlignment="Left" Width="250" Height="125">
    <Image Source="/url/to/image.jpg" Stretch="UniformToFill" Height="250" Margin="0" VerticalAlignment="Center"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)

图像的溢出是看不见的:)


agu*_*ran 7

如果事先未知源图像的大小,我必须使用不同的技巧:

<Border Width="250" Height="250">
    <Border.Background>
        <ImageBrush ImageSource="/url/to/image.jpg"
                    Stretch="UniformToFill"/>
    </Border.Background>
</Border>
Run Code Online (Sandbox Code Playgroud)