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>