2016-03-01 55 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

這很有道理。謝謝。 –