在UWP中有一個不同的組件來完成這項工作。它被稱爲Composition API,可在NuGet包「Win2D.uwp」中找到。
基本上你需要得到合成器爲您的視覺對象與
_compositor = ElementCompositionPreview.GetElementVisual(this).Compositor;
,並使用合成器創建一個陰影。
_compositor = ElementCompositionPreview.GetElementVisual(this).Compositor;
// create a red sprite visual
var myVisual = _compositor.CreateSpriteVisual();
myVisual.Brush = _compositor.CreateColorBrush(Colors.Red);
myVisual.Size = new System.Numerics.Vector2(100, 100);
// create a blue drop shadow
var shadow = _compositor.CreateDropShadow();
shadow.Offset = new System.Numerics.Vector3(30, 30, 0);
shadow.Color = Colors.Blue;
myVisual.Shadow = shadow;
// render on page
ElementCompositionPreview.SetElementChildVisual(this, myVisual);
不利的一面,這不是非常簡單。您可以使用不同的畫筆來顯示圖像,純色或其他東西,它不適用於屏幕上的現有視覺效果(據我瞭解)。你可以閱讀更多關於基本知識here。 Probalby你需要使用表面刷,它可以容納各種不同的視覺類型,如圖像。目前看起來不存在用於橢圓的現成組件。
或者,存在一個xaml擴展名,它將爲您使用純xaml,might be worth a shot並可能還支持省略號。
作爲結束語,所有這些目前都是微軟部分正在開展的工作,將來應成爲UWP API的本地部分。
快速正確的答案,非常感謝! –