2016-03-01 57 views
0

如果我想为按钮或文本框中的文本添加投影或发光效果,是否有任何方法可以用图像替换文本?UWP文本样式?

此外,微软警告他们的'字体指南'页面,“在移动设备上可用的UWP应用程序不应该使用除列表中的字体以外的UI内容的字体。”该列表非常短。这是否意味着我不能或不应该使用自定义字体,即使我将它包含在包中,而不是作为下载?

回答

1

对XAML内容应用效果没有好的方法,WinRT目前也缺乏将XAML元素渲染到位图的方法,因此您主要使用的方法不包括使用XAML的方法。

确保发光是必要的,并且您已阅读指南。你已经做了,所以我最好的建议是不使用它。如果您确定需要它,请点击以下几条建议:

对于简单情况,您可以使用渐变或重复的几何体来获得发光效果。

  • 捆绑发光已经与您的应用程序,这显然不适用于完全动态形状的图形,但你可以做它的文本类似于我的答案在这里。
  • 使用Direct2D的,而不是XAML和使用Direct2D的影响(SharpDX提供绑定的Direct2D)
  • 如果需要辉光应用于位图,你可以使用一个WriteableBitmap的并应用焕发自己。 (WriteableBitmapEX可能很有用)
  • 在经典的WinRT应用程序中,您可以使用HTML和CSS代替XAML,可能托管在WebView或整个应用程序中。

我的建议仍然是不使用它,并按照指导方针。应用程序认证过程通常对此非常严格,因此如果您计划将来在应用商店中发布应用程序,我建议你节省时间,不要使用文字效果。

最后一种方法是在Visual Blend中编辑控件本身,然后创建一个资源副本,但这是一个讨厌的方法。

+0

谢谢你的详细解答Tobias。让我确定我明白你的意思。如果我有一个数字为1的按钮,并且我想为我的应用创建各种主题,我无法使用xaml设置按钮的文本样式,但是我可以使用上述方法之一,包括使用照片购物图形,但微软建议不要主张你的应用程序? –

+0

你确实可以用不同的风格来设计它们,但是不能使用违背严格指导原则的文字效果,我很遗憾地告诉你。你确实可以使用照片作为按钮来代替,这是更好的选择,但不同的按钮元素状态如:active:hover:focus:visited等将难以管理。 –

+0

这很有道理。谢谢。 –