在Windows 8 metro应用程序中创建带圆角的图像

时间:2013-04-17 04:12:23

标签: c# xaml windows-runtime microsoft-metro windows-store-apps

我正在尝试在Windows 8 metro应用程序中创建一个动画扑克牌。 我发现通过在xaml中使用2个矩形并使用变换并设置z顺序,我可以得到一个体面的动画。但是,当我尝试将一个子图像(对于卡片的表面)添加到其中一个矩形时,我无法编译。

有没有办法在矩形内部使用xaml图像标记,以便您可以使用radiusX radiusY属性来绕过角落?

继承人使用的是允许旋转(x和z平面)

<Rectangle x:Name="cardRectBack"  Stroke="{StaticResource HyperlinkPointerOverForegroundThemeBrush}" RadiusX="20" RadiusY="20" Tapped="cardRect_Tapped" RenderTransformOrigin="0.5,0.5">
        <Rectangle.RenderTransform>
            <RotateTransform x:Name="rotateCard"/>
        </Rectangle.RenderTransform>
        <Rectangle.Projection>
            <!-- Apply a PlaneProjection to the image -->
            <PlaneProjection x:Name="backYRot" RotationY="20"/>
        </Rectangle.Projection>
        <Rectangle.Fill>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="Black"/>
                <GradientStop Color="#FFBB4444" Offset="1"/>
            </LinearGradientBrush>
        </Rectangle.Fill>
    </Rectangle>

1 个答案:

答案 0 :(得分:1)

您可以使用ImageBrush代替LinearGradientBrush

<Rectangle.Fill>
    <ImageBrush ImageSource="Assets/MyImage.png" />
</Rectangle.Fill>