2013-04-11 150 views
4

默認情況下,在WPF/WinRT XAML中將Stroke添加到Shape會創建一個以邊緣爲中心的輪廓,這意味着輪廓的一半位於形狀之外。但是我需要創建一個具有筆畫和無填充的形狀,它與具有填充和無筆畫的形狀具有相同的輪廓。有沒有簡單的方法來改變筆畫,使整個輪廓在裏面?具有內部筆劃的形狀

我可以創建一個遮蓋反轉形狀的OpacityMask,但在WinRT XAML中不支持OpacityMasks。我也可以通過向內的多邊形緩衝創建一個更小的形狀(An algorithm for inflating/deflating (offsetting, buffering) polygons),但我希望有一個更簡單的解決方案,例如一個簡單的屬性來改變筆畫「內部」。

+1

如[此處](http://stackoverflow.com/a/10594612/1136211)所示,設置'Clip'屬性而不是'OpacityMask'會更簡單,但不幸的是,這在WinRT中也不起作用,因爲'Clip'只能是'RectangleGeometry'。 – Clemens 2013-04-11 22:46:43

+0

@Sebastian Negraszus我有同樣的問題。任何更新? – AbinZZ 2013-05-09 05:51:53

+0

@Abin:沒有更新。我不再在這個問題上工作。 – 2013-05-09 12:39:22

回答

1

我真的一直在想出這個問題的答案。一遍又一遍地嘗試有一些類型的限制。恐怕答案是,你不能這樣做 - 至少不能與動態載體相關。您始終可以創建一個圖像來模擬它。但這很糟糕。