1

我正在开发一个 Windows 8 Metro 风格的应用程序,我想使用矢量图像。由于似乎没有对 svg 图像的直接支持,我尝试使用由多个形状(路径和一些线)组成的 xaml 片段作为图像。我想要一个具有复合形状的资源字典条目,并能够将其包含在不同的页面中。理想情况下,我还希望能够从数据绑定属性中解析特定的复合形状。

从我读过的内容来看,WPF 方法是有一个VisualBrushDrawingBrush由形状组成,但在 Windows 8 中没有这样的类(而且似乎它甚至不可能从 派生Brush)。

我应该如何使用 WinRT UI 执行此操作?

4

3 回答 3

1

不,您不能将 DrawingBrush 用作 WinRT XAML 中背景属性的值。太糟糕了,是吗?似乎是一个非常强大的功能,可以使用矢量布局设置对象的填充。事实上,DrawingBrush 甚至还不是 Windows 8 的一部分。就是这样。目前,图像是一个很好的解决方案。但我们感受到你的痛苦。

我不妨折腾一下,VisualBrush 也不是 WinRT-XAML 的一部分。

于 2013-02-11T15:14:32.440 回答
0

每个 XAML 片段实际上都是一个 UI 元素。我认为最简单的方法是将 XAML 放入它自己的用户控件中,然后将用户控件添加到您想要在其上显示“绘图”的每个页面。如果您希望用户控件显示不同的形状,您可以在控件上公开一个属性,将数据绑定到该属性,然后在属性的设置器中读取值并切换各种 XAML 形状的可见性以显示或隐藏任何内容您想要的合成图像的一部分。这有点蛮力,但会做你想做的事。

于 2012-08-14T19:37:38.177 回答
0

Windows8 在其中包含矢量图形的方法只是使用 ViewBox+Canvas 和 Path 元素。我认为它运作良好,尽管我确实想念 VisualBrush。

于 2013-03-30T13:36:40.277 回答