2012-01-07 5 views
1

可能性の重複:
wpf flat buttonボーダーなしで画像付きのボタンを実装するにはどうすればよいですか?

どのように私は写真のようなボタンを実装することができますか?

enter image description here

は、私は、次の試してみました:

<Button Name="buttonSuchpfeil" Margin="184,39,522,364"> 
     <StackPanel> 
      <Image Source="..\Pictures\Suchpfeil.jpg"></Image> 
     </StackPanel> 
    </Button> 

しかし、私は好きではいけない画像の周囲に境界線が表示されます:私はこれを避けるために自分のコードを変更するにはどうすればよい

enter image description here

+0

thatsの右ボタン用のテンプレートが、私は「フラットなボタン」を探していたことを知らなかった:D – PeterP

+2

は私の質問は不明であるか、なぜ君たちはdownvoteていますか?私はWPFの初心者です... – PeterP

答えて

1

ボタンのパディングを-2に設定すると、画像に境界線が表示されなくなります。あなたがが、ボタンのテンプレートを変更する必要があると思います(マウスオーバー効果などのような)より複雑なレイアウトの変更については

<Button Name="buttonSuchpfeil" Padding="-2" Margin="184,39,522,364"> 
    <StackPanel> 
     <Image Source="..\Pictures\Suchpfeil.jpg"></Image> 
    </StackPanel> 
</Button> 

:このように

This articleは基本を提供します。

+0

まあ、ええ、回避策のようです。それは実際には機能していません。しかし、とにかくありがとう! – PeterP

3

WinFormsでは、これを行う簡単な方法があります。FlatStyleをFlatに設定します。 WPF用として

this.myButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; 

(私はこの:-)を書いていただけのように登場しトビアスの答えにもかかわらず、いくつかの有用な追加情報がここにあります:WPF Flat Button

+0

リンクはそれを説明しました、ありがとう! – PeterP

+1

@Cody Grey私の答えは質問の一般的な言い回しのために両方をカバーしています。私はここに新しいです、それはライン外れている場合は申し訳ありません。 – carboncrank

+0

ああ、十分です。それには何も問題はありません。少し珍しいことです。将来の時間を節約するため、質問の下に表示されるタグを確認してください。青いボタンのように見えます。何人かの人々は、彼らが質問で提供する文脈を繰り返すことを心配しない。 –

2

これだけでみてください...私が作成しましたカスタム

<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}"> 
     <Setter Property="HorizontalContentAlignment" Value="Center"/> 
     <Setter Property="VerticalContentAlignment" Value="Center"/> 
     <Setter Property="Padding" Value="1"/> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type Button}"> 
        <Border x:Name="border" BorderThickness="2" BorderBrush="Black"> 
         <ContentPresenter></ContentPresenter> 
        </Border> 
        <ControlTemplate.Triggers> 

         <Trigger Property="IsEnabled" Value="false"> 
          <Setter Property="Foreground" Value="#ADADAD"/> 
          <Setter Property="Opacity" TargetName="border" Value="0.15"/> 
         </Trigger> 
         <Trigger Property="IsMouseOver" Value="True"> 
          <Setter Property="BorderBrush" TargetName="border" Value="#FF54FF08"/> 
         </Trigger> 
        </ControlTemplate.Triggers> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

     <Button HorizontalAlignment="Left" Height="30" VerticalAlignment="Top" Width="35" Style="{DynamicResource ButtonStyle1}"> 
     <Image Source="Untitled-1.png" Stretch="Fill"></Image>   
    </Button> 
+0

こんにちは、私はこの実行を得ることができません... – PeterP

関連する問題