【发布时间】:2013-04-26 20:18:47
【问题描述】:
我尝试制作带有圆角的<Grid/>(内部包含交互式内容,而不仅仅是图像)剪裁(<Border/> 或<Rectangle/>,任何可行的方法)。
我尝试了多种解决方案,但没有一个与 Windows 应用商店应用兼容。
没有刷子:
- Windows 应用项目不支持 RadialGradientBrush。
- Windows 应用项目不支持 DrawingBrush。
- 找不到类型“VisualBrush”。确认您没有丢失程序集引用,并且所有引用的程序集都已构建。
没有面具:
- 在“图像”类型中找不到可附加属性“OpacityMask”。
- 在“StackPanel”类型中找不到可附加属性“OpacityMask”。
- 在“网格”类型中找不到可附加属性“OpacityMask”。
无圆角几何:
- 在“RectangleGeometry”类型中找不到属性“RadiusX”。
- Windows 应用项目不支持 MultiBinding。
在 C#/XAML Windows 商店应用程序中,这在技术上是不可能的吗?
【问题讨论】:
-
OpacityMask在 WinRT 中尚不支持,而对于Clip你将被限制为RectangleGeometry所以我想这真的取决于你到底想要完成什么. -
@ChrisW。我为带有圆角的 RectangleGeometry 尝试了 MS 解决方案 msdn.microsoft.com/en-us/library/ms750631.aspx,但它也失败了。他们是否故意删除了所有可以想到的圆形剪辑方式?
-
您是否尝试通过
Path元素或UIElement渲染它?您将无法将其应用于Path,但我相信您可以将其直接应用于UIElement,就像可能一样;<Grid Clip="ClipData"/> -
标记最佳/正确答案是有礼貌的。
-
@JerryNixon-MSFT 除了我不能同意在软件中编写简单的 UI 方面是不可能的:圆角。这就像我第三次面临 XAML 不可能的问题:以前的问题是“控制动画 WebView”和“在 ApplicationBar 内绑定”。我以前从未遇到过这么多限制。因为我不想开始讨厌为 Windows 8 进行开发,所以我想找到解决方法。我祈求一个比你更好的答案。
标签: xaml windows-store-apps winrt-xaml rounded-corners clipping