Windows Xaml,以编程方式在stackpanel中的图像上添加按钮

Windows Xaml,以编程方式在stackpanel中的图像上添加按钮,windows,xaml,Windows,Xaml,对于我的windows8App,我需要一个上面有播放按钮的图像。 我创建了一个网格,该网格包含一个stackplan。我想以编程方式将图像和按钮放置在图像上。但当我运行应用程序时,我看到按钮在图像后面。 我的第一个问题是,这是否是一个好的方式,把按钮的图像? 如果是,那么我的代码有什么问题 <Border x:Name="videoPlayerBr" BorderBrush="#FFDED5D5" HorizontalAlignment="Center" Width="400" Hei

对于我的windows8App,我需要一个上面有播放按钮的图像。 我创建了一个网格,该网格包含一个stackplan。我想以编程方式将图像和按钮放置在图像上。但当我运行应用程序时,我看到按钮在图像后面。 我的第一个问题是,这是否是一个好的方式,把按钮的图像? 如果是,那么我的代码有什么问题

<Border x:Name="videoPlayerBr" BorderBrush="#FFDED5D5"   HorizontalAlignment="Center" Width="400" Height="300" VerticalAlignment="Top"  Grid.Row="0">
 <StackPanel Name="videoPlayerSP">
 </StackPanel>
 </Border>

谢谢。

尝试将图像和按钮控件放置在画布或嵌套网格中。

我刚刚快速推出了一个解决方案。干得好。我希望你能很容易地把它转换成C


谢谢,我已经把它们放在画布上了。但是现在当我把鼠标放在按钮上时,按钮消失了。你知道为什么吗?
        var proVideoImg = new Image();
        proVideoImg.Source = new BitmapImage(new Uri("ms-appx:///Assets/image.png", UriKind.Absolute));
        proVideoImg.Stretch = Stretch.UniformToFill;
        videoPlayerSP.Children.Add(proVideoImg);

        var playBtn = new Button();
        playBtn.Margin = new Thickness(136, 121, 0, 133);
        ImageBrush brush1 = new ImageBrush();
        brush1.ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/playbutton.png"));
        playBtn.Background = brush1;        
        playBtn.Click += new RoutedEventHandler(PlayVideo_Button_Click);
        videoPlayerSP.Children.Add(playBtn);
      <Button Height="29" Width="82" Click="Button_Click">
        <Button.Content>
            <Grid>
                <Image Source="Icons/add_action.png" Stretch="Fill" Opacity=".2"/>
                    <Path Data="M13,9.8933333 L13,21.561587 23.2164,16.328076 z" Fill="#FFBED460" HorizontalAlignment="Center" Stretch="Fill" Width="11.212" RenderTransformOrigin="0.357,0.5" VerticalAlignment="Center" Height="15">
                        <Path.Stroke>
                            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                <GradientStop Color="Black" Offset="0"/>
                                <GradientStop Color="#FF9B6262" Offset="1"/>
                            </LinearGradientBrush>
                        </Path.Stroke>
                    </Path>
                </Grid>             
            </Button.Content>                   
        </Button>