Stretch 属性接受 Stretch 枚举定义的下列值:
-
UniformToFill:对 TileBrush 内容进行缩放,从而可以完全填充输出区域,但保持其原始纵横比。
-
Fill:TileBrush 内容进行缩放,以适合图块。由于内容的高度和宽度是独立缩放的,因此内容的原始长宽比可能不会保留。也就是说,为了完全填充输出区域,TileBrush 内容可能会失真。
下图举例说明了不同的 Stretch 设置。
<MediaElement x:Name="kobemv" Source="kobemv.mp4" AutoPlay="True"></MediaElement>
<Grid.Background>
<VideoBrush SourceName="kobemv" Stretch="Uniform"></VideoBrush>
</Grid.Background>
</Grid>
下面实现 让这个视频作为文字的前景色
<Grid x:Name="LayoutRoot" >
<MediaElement x:Name="kobemv" Source="kobemv.mp4" Opacity="0.0" AutoPlay="True"></MediaElement>
<TextBlock HorizontalAlignment="Left" FontFamily="Verdana" FontSize="500" FontWeight="Bold" Name="textBlock1" Text="坤坤" VerticalAlignment="Top">
<TextBlock.Foreground >
<VideoBrush SourceName="kobemv" ></VideoBrush>
</TextBlock.Foreground>
</TextBlock>
</Grid>
实现一个简单的简单的立体效果,主要是用了UI的Projection
<MediaElement x:Name="kobemv" Source="kobemv.mp4" Opacity="0.0" AutoPlay="True"></MediaElement>
<StackPanel Background="Gray" >
<TextBlock HorizontalAlignment="Left" FontFamily="Verdana" FontSize="500" FontWeight="Bold" Name="textBlock1" Text="坤坤" VerticalAlignment="Top">
<TextBlock.Projection >
<PlaneProjection RotationX="-20" RotationY="-20" RotationZ="20"></PlaneProjection>
</TextBlock.Projection>
<TextBlock.Foreground >
<VideoBrush SourceName="kobemv" ></VideoBrush>
</TextBlock.Foreground>
</TextBlock>
</StackPanel>
</Grid>