使用WPF播放电影的圆窗

时间:2009-01-16 15:46:05

标签: wpf mediaelement shape

WPF是否可以创建一个圆形的窗口并使用播放电影作为背景?

4 个答案:

答案 0 :(得分:4)

要制作非矩形窗口,您需要先做三件事。

  1. 将Window.WindowStyle设置为WindowStyle.None
  2. 将Window.AllowsTransparency设置为True
  3. 将Window.Background设置为Transparent(或{x:Null})
  4. 现在,您的窗口完全透明。您可以使用此线程中的其他提示将一块介质绘制到窗口的几何体上。

答案 1 :(得分:2)

你应该只需要在你的xaml中抛出这样的东西:

<Ellipse Height="80" Width="80">
    <Ellipse.Fill>
        <VisualBrush TileMode="None">
            <VisualBrush.Visual>
                <MediaElement Source="myMovie.wmv" />
            </VisualBrush.Visual>
        </VisualBrush>
    </Ellipse.Fill>
</Ellipse>

实际上制作窗户会更困难。看看this如果你想要窗口是圆形的,它应该有助于找出那部分。

HTH

答案 2 :(得分:2)

不要使用AllowTransparency,它的性能非常差,兼容性问题很多,请访问此链接以获取替代方案:

http://blogs.msdn.com/wpfsdk/archive/2008/09/08/custom-window-chrome-in-wpf.aspx

编辑:有一个例子说明如何使用SetWindowRgn获取矩形窗口的圆角,如果你传递椭圆区域而不是圆角矩形区域,你会得到一个椭圆形窗口,很容易创建一个区域你可以想象的任何形状。

答案 3 :(得分:0)

您可以将画布作为父容器(设置为透明),然后添加一个带有媒体画笔的圆圈作为背景。应该这样做。 :)