2012-10-24 43 views
1

對於我的windows8App,我需要在其上有播放按鈕的圖像。 我創建了一個網格,該網格包含一個堆棧計劃。我想以編程方式將圖像和按鈕放在圖像上。但是當我運行該應用程序時,我發現該按鈕位於圖像後面。 我的問題的第一個問題是,如果是將按鈕放在圖像上的好方法? 如果是,那麼我的代碼有什麼問題?Xaml,以編程方式將按鈕添加到堆疊面板中的圖像

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

這是後面的代碼:

 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); 

感謝。

回答

0

嘗試將圖像和按鈕控件放置在畫布或嵌套網格中。

+0

謝謝,我已經把它們放在一個Canvas中。但是現在,當我將鼠標放在按鈕上時,按鈕消失。你有什麼想法,爲什麼? – wingman55

0

我剛推出了一個解決方案。幹得好。我希望你可以輕鬆地將其轉換爲C#?

 <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> 
相關問題