Xaml 如何在Windows应用商店应用程序中剪辑圆角内容

Xaml 如何在Windows应用商店应用程序中剪辑圆角内容,xaml,windows-store-apps,winrt-xaml,rounded-corners,clipping,Xaml,Windows Store Apps,Winrt Xaml,Rounded Corners,Clipping,我试着用圆角剪裁一个(里面有互动的东西,而不仅仅是一张图片)(一个或一个,任何可行的) 我尝试了多种解决方案,但没有一种与Windows应用商店应用程序兼容 无刷: Windows应用程序项目中不支持RadialGradientBrush Windows应用程序项目中不支持DrawingBrush 找不到类型“VisualBrush”。验证是否缺少部件引用,以及是否已生成所有引用的部件 无遮罩: 在类型“Image”中找不到可附加属性“OpacityMask” 在类型“StackPanel

我试着用圆角剪裁一个
(里面有互动的东西,而不仅仅是一张图片)(一个
或一个
,任何可行的)

我尝试了多种解决方案,但没有一种与Windows应用商店应用程序兼容

无刷:

  • Windows应用程序项目中不支持RadialGradientBrush
  • Windows应用程序项目中不支持DrawingBrush
  • 找不到类型“VisualBrush”。验证是否缺少部件引用,以及是否已生成所有引用的部件
无遮罩:

  • 在类型“Image”中找不到可附加属性“OpacityMask”
  • 在类型“StackPanel”中未找到可附加属性“OpacityMask”
  • 在类型“Grid”中找不到可附加属性“OpacityMask”
无圆角几何体:

  • 在类型“RectangleGeometry”中找不到属性“RadiusX”
  • Windows应用程序项目中不支持多重绑定

在C#/XAML Windows应用商店应用程序中,这在技术上是不可能的吗?

我觉得你已经回答了自己的问题只是不喜欢这个答案

在WPF中,您的剪辑选项几乎是无限的。甚至SilverLight也有一些不错的选择。但是,在Windows 8(现在)中,您仅限于
矩形几何体
。故事结束了。值得指出的是,您可以将
变换
应用于
矩形几何体
,这将为您提供更多选项

(至少现在你知道了)


祝你好运

您是否尝试过将控件放在边界内?只要将边界的角半径设置为150,您就拥有了一个完美的圆形控件。下面是一个带有按钮的示例

    <Border BorderBrush="Black" BorderThickness="1" HorizontalAlignment="Center"  Height="200" Margin="0,0,0,0" VerticalAlignment="center" Width="200" CornerRadius="150">

        <Button x:Name="btnPlayback" Content="Play" HorizontalAlignment="Center" Height="200" Margin="0,0,0,0" VerticalAlignment="center" Width=" 200" BorderThickness="0"  Click="btnPlayback_Click_1"/>

    </Border>


你会用画笔吗


我工作得很好。

OpacityMask
在WinRT中还不受支持,而对于
Clip
,您将被限制为
矩形几何体
,因此我想这实际上取决于您正试图实现的目标。@ChrisW。我尝试了MS解决方案,用于圆角矩形几何体,但也失败了。他们是否故意删除了所有可以想到的圆形剪辑方式?您是否尝试通过
路径
元素或
UIElement
来渲染它?您将无法将其应用于
路径
,但我相信您可以直接将其应用于
ui元素
,比如maybe<代码>标记最佳/正确答案是礼貌的。@JerryNixon MSFT,但我不同意在软件中编写简单的UI方面是不可能的:圆角。这就像我第三次面对XAML不可能解决的问题:以前的问题是“对动画WebView的控制”和“应用程序栏中的绑定”。我以前从未遇到过这么多的限制。因为我不想开始讨厌为Windows8开发,所以我想找到解决办法。我祈祷有一个比你更好的答案。很好的方法。不能直接操纵按钮形状,但将其作为子项添加到边框中基本上会得到相同的结果。通过编程,可以使用
border.Child
属性将按钮添加到border对象中。此外,可以通过将
拐角半径设置为150来制作圆形按钮。
<Ellipse HorizontalAlignment="Left" Height="301" Stroke="Black" VerticalAlignment="Top" Width="300">
    <Ellipse.Fill>
        <ImageBrush Stretch="Uniform" ImageSource="http://cfile3.uf.tistory.com/image/26616E4D514A3CDC136C4B"/>
    </Ellipse.Fill>
</Ellipse>