终于找到一个方法,可以把Video的倒影做出来,而且是动态的。方法很简单,通常用代码实现的话,就是在XAML中做一个VisualBrush。语法如下:

<VisualBrush x:Key="ReflectionBrush" Visual= "{Binding ElementName=Grid}"/>

其中,Binding ElementName=Grid指明了这个VisualBrush绑定的对象,也就是要产生倒影的对象。不仅仅是Video,可以是很多控件的组合,然后放在一个Grid下面。

 

用工具来定义一个VisualBrush就更加简单了,只要在Objects and Timeline中选中这个Grid,然后到菜单中Tools->Make Brush Resource->Make VisualBrush Resource...,就可以了。定一个名字给这个Brush,就叫ReflectionBrush好了。

然后再在Grid的下方画一个Rectangle,给这个Rectangle应用ReflectionBrush到Fill属性。如图:

剩下的就很简单了,就是对这个Rectangle做一些渐变效果和ScaleTransform (将Y设为-1)。

最终效果,栩栩如生,截图:(我在网上找了一个液晶电视图片,然后把Video叠加在这个图片上)