Рендеринг кнопок поверх MediaElement в WPF - PullRequest
4 голосов
/ 16 июля 2011

В моем XAML есть объект MediaElement, который прекрасно загружает мой фильм.Я хочу сделать так, чтобы кнопки воспроизведения, паузы и остановки отображались прямо в центре моего объекта MediaElement, как если бы вы вставили видео YouTube на веб-страницу, вы получили большую кнопку воспроизведения в центре видео.Могу ли я сделать это в WPF с помощью MediaElement?

Ответы [ 2 ]

6 голосов
/ 16 июля 2011

На случай, если кому-то еще понадобится это сделать, я понял это.Я просто создал 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>
0 голосов
/ 02 сентября 2015

Или вам нужно поместить 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]):

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...