Windows.UI.Composition API是可以从任何通用Windows平台应用程序调用的声明性保留模式API,从而可以直接在应用程序中创建合成对象动画效果

Composition API在 10586SDK 中就已经出现,但是在年度更新之后,该SDK变得更加完善,也有了更多样性的功能。今天我们就来谈谈如何在基于 Anniversary SDK 的UWP应用中使用Composition API创建DropShadow效果。

1.首先,假如我们想要为一个Ellipse对象创造DropShadow效果,那么第一步,我们需要先创建一个Canvas对象,这个对象位于Ellipse的“背后”,要被Ellipse遮挡住,比如这样:

<Grid> <Canvas x:Name="host"/> <Ellipse x:Name="target"/> </Grid>

2.使用ElementCompositionPreview.GetElementVisual()方法获得Canvas的Visual,然后得到该Visual的Compositor,其中下面代码中的host是我们在XMAL中创建的Canvas: