2014-02-26 36 views
1

我有這個問題。如何在一個按鈕上動態插入圖像

我有一個帶有4個按鈕(button1,button2,button3,button4)的網格。

當我點擊一個按鈕時,我想顯示一個按鈕的圖像,所以如果我點擊Button2,我必須在Button2上顯示一個圖像。

這是我的代碼

<Grid x:Name="gridButton" 
       Visibility="Visible"> 
      <Button Style="{DynamicResource GlassButton}" 
       Margin="50,0,0,306" 
       Name="buttonGioia" 
       Height="182" 
       HorizontalAlignment="Left" 
       Width="414" 
       Click="button_click">Gioia 
      </Button> 

      <Button Style="{DynamicResource GlassButton}" 
       Margin="0,0,50,306" 
       Name="buttonTristezza" 
       Height="182" 
       HorizontalAlignment="Right" 
       Width="414" 
       Click="button_click">Tristezza 
      </Button> 

      <Button Style="{DynamicResource GlassButton}" 
       Margin="50,300,0,106" 
       Name="buttonPaura" 
       Height="182" 
       HorizontalAlignment="Left" 
       Width="414" 
       Click="button_click">Paura 
      </Button> 

      <Button Style="{DynamicResource GlassButton}" 
       Margin="0,300,50,106" 
       Name="buttonRabbia" 
       Height="182" 
       HorizontalAlignment="Right" 
       Width="414" 
       Click="button_click">Rabbia 
      </Button> 
     </Grid> 

我們能幫助我嗎?

+0

按鈕仍然可以訪問,圖像顯示後? – Dennis

回答

1

您似乎正在使用WPF。你所要做的就是設置一個圖像作爲按鈕的內容。如果您需要Text + Image,則必須在Content中放入一個合成器,並將標籤和圖像放入容器中。

將這個代碼在ButtonClick事件:

//Get the button instance that raised this event 
Button Source = (Button)sender; 

//Craete the Image isntance and set the image to be dispalyed 
Image ButtonPicture = new Image(); 
ButtonPicture.BaseUri = "MyButtonPicture.jpg" 

//Assign it to the buttons content 
Source.Content = ButtonPicture; 
1

根據你所說的什麼 「而不是」 你可以這樣做

<Button Margin="50,300,0,106" 
     x:Name="buttonPaura" 
     Height="182" 
     HorizontalAlignment="Left" 
     Width="414" 
     Click="button_click"> 
    <StackPanel> 
     <Image x:Name="imagePaura" Source="your/image" Width="414" Height="182"/> 
     <Label>Content="Paura"</Label> 
    </StackPanel> 
</Button> 

,並在您button_click

private void button_click(object sender, RoutedEventArgs e) 
    { 
     var button = sender as Button; 
     if (buttonPaura == button) 
     { 
      imagePaura.Visibility = System.Windows.Visibility.Visible; 
     } 
    } 

和你應該使用DataBinding代替後面的代碼,但這只是一個建議

相關問題