在WPF中的MediaElement顶部呈现按钮

时间:2011-07-16 01:36:09

标签: c# wpf mediaelement

我的XAML中有一个MediaElement对象,可以很好地加载我的电影。我想要做的是在MediaElement对象的中心渲染播放,暂停和停止按钮,就像在网页上嵌入YouTube视频一样,您可以在视频中心获得大播放按钮。我可以使用MediaElement在WPF中执行此操作吗?

2 个答案:

答案 0 :(得分:6)

如果其他人需要这样做,我想出来了。我只是创建了一个Canvas,并将MediaElement和Button粘贴在Canvas中。然后我使用ZIndex来改变ZOrdering,因此按钮位于顶部。最后,我将按钮置于电影的顶部。这是XAML:

<StackPanel Orientation="Horizontal" Background="LightGray" DockPanel.Dock="Bottom" Height="100">
        <Canvas Width="100">
            <Button Canvas.ZIndex="2" Canvas.Left="42" Canvas.Top="35">
                <Button.Template>
                    <ControlTemplate TargetType="{x:Type Button}">
                        <Polygon Points="0,0 0,26 17,13" Fill="#80000000" Stroke="White" />
                    </ControlTemplate>
                </Button.Template>
            </Button>
            <MediaElement Canvas.ZIndex="1" Canvas.Top="0" Canvas.Left="0" 
                          x:Name="mediaElement1" UnloadedBehavior="Manual" LoadedBehavior="Manual" ScrubbingEnabled="True" 
                          Loaded="mediaElement1_Loaded" Width="100" Height="100">
            </MediaElement>
        </Canvas>
    </StackPanel>

答案 1 :(得分:0)

或者您需要将mediaElement和Buttons放置到同一个Grid并将Canvas.ZIndex设置为高于0的数字:

    <Grid>
        <Button  VerticalAlignment="Center" HorizontalAlignment="Center" Height="50" Width="100" Canvas.ZIndex="1">Button</Button>
        <MediaElement Source="/Assets/ladybug.wmv">
         </MediaElement>
    </Grid>

(实际上你不需要Canvas [适用于UWP]):