如何在Windows 8应用程序中使用xaml矢量图像作为图像源
我在inkscape中创建了一些资源,并希望将它们用作Windows 8应用程序中的图标。 我已经完成了一些阅读和接缝,而.Net 4.5支持SVG, 现代的ui配置文件没有 。 我使用这个工具将svg转换为xaml 。
我得到以下xaml。
如果我将它直接添加到我的应用程序xaml中,它将呈现但是比例是偏离的。
如果可能的话,我想将它用作图像对象的图像源。
可以这样做吗?
大多数AppBar按钮都基于StandardStyles中包含的称为AppBarButtonStyle的样式。
要自定义按钮的文本,请设置AutomationProperties.Name附加属性,以自定义设置Content属性的按钮中的图标,并且出于可访问性原因设置AutomationProperties.AutomationId附加属性也是一个好主意。
以下是使用此方法自定义按钮的示例:
如上所述,要自定义图标,请设置Content属性。 挑战在于如何设置内容以便显示自定义矢量图。
事实certificate,您可以将任何路径Xaml(甚至是您的路径)放入Viewbox中以更改其比例。 这是我的第一种方法,但它不起作用。 实际上,似乎每次使用Xaml扩展表示法为按钮设置Content属性都不起作用。
我实际上认为这是一个错误,但幸运的是有一个解决方法。
Tim Heuer写了一篇关于使用Xaml Path作为按钮艺术作品的最简单方法的精彩文章。 那篇文章在这里:
http://timheuer.com/blog/archive/2012/09/03/using-vectors-as-appbar-button-icons.aspx
简而言之,您需要定义一个正确设置所有绑定的样式:
然后,您创建一个inheritance自该样式的样式,并粘贴到您的路径中。 以下是您在上面列出的作品的样式:
最后,你在AppBar中使用它,如下所示:
开发人员支持,设计支持以及更多令人敬畏的善良: http : //bit.ly/winappsupport
我非常肯定你不能只是将Path
Data
注入Image
Source
并期望它神奇地工作,除非它通过绘图对象作为源 。 但是你可以做的是采用你的Path
into ContentControl
以相同的方式重复使用,而不必为每个实例都经历Drawing
对象的麻烦。
而不是;
只需执行类似的操作,并将其放在Object.Resources
或ResourceDictionary
;
然后随便随意地将它放在你的视线上;
但是,你会想要玩你的那条路。 它似乎规模很大,但希望这为您的环境提供了一个很好的选择。 干杯!