2017-03-18 9 views
0

特定のイメージで使用しようとしているボタンがあります。ボタンのXamlは以下の通りです。WPFでボタンイメージを作成する方法

<Button Name="Button1" Grid.Row="1" Grid.Column="1" Background="Transparent" BorderBrush="Transparent" Click="Button1_Click" MouseEnter="Button1_MouseEnter" MouseLeave="Button1_MouseLeave">    
      <Image Name="Button1_Image" Source="/Assets/Button1Passive.png"/>    
    </Button> 

背後にあるコード:

private void Button1_Click(object sender, RoutedEventArgs e) 
    { 
     if (!Button1Active) 
     { 
      BitmapImage Image1 = new BitmapImage(new Uri("/Assets/Button1Selected.png", UriKind.Relative)); 
      Button1_Image.Source = Image1; 
      Button1Active = true; 
     } 
     else 
     { 
      BitmapImage Image1 = new BitmapImage(new Uri("/Assets/Button1Passive.png", UriKind.Relative)); 
      Button1_Image.Source = Image1; 
      Button1Active = false; 
     } 
    } 

    private void Button1_MouseEnter(object sender, MouseEventArgs e) 
    { 
     if (!Button1Active) 
     { 
      BitmapImage Image1 = new BitmapImage(new Uri("/Assets/Button1RolledOver.png", UriKind.Relative)); 
      Button1_Image.Source = Image1; 


     } 
    } 

    private void Button1_MouseLeave(object sender, MouseEventArgs e) 
    { 
     if (!Button1Active) 
     { 
      BitmapImage Image1 = new BitmapImage(new Uri("/Assets/Button1Passive.png", UriKind.Relative)); 
      Button1_Image.Source = Image1; 
     } 
    } 

私が午前の問題は、画像全体のボタンを取らないと、画像の周囲にある青い箱があることがあるときにマウスロールその上。

WPF Box

私は私がプログラムで画像を変更することはできませんでした見つけることができる他のソリューションと、すべてがそこにあるかどうかを確認するために見てきました。

ありがとうございます。

答えて

2

あなたはButtonのテンプレート

<Button Name="Button1" Grid.Row="1" Grid.Column="1" 
      Background="Transparent" BorderBrush="Transparent" 
      Click="Button1_Click" MouseEnter="Button1_MouseEnter" 
      MouseLeave="Button1_MouseLeave"> 
     <Button.Template> 
      <ControlTemplate TargetType="Button"> 
       <ContentPresenter Content="{TemplateBinding Content}"/> 
      </ControlTemplate> 
     </Button.Template> 
     <Image Name="Button1_Image" Source="/Assets/Button1Passive.png"/>    
    </Button> 
をオーバーライドする必要があります
関連する問題