可能重复:
wpf flat button
如何实现图片中的按钮?
我尝试了以下内容:
<Button Name="buttonSuchpfeil" Margin="184,39,522,364">
<StackPanel>
<Image Source="..\Pictures\Suchpfeil.jpg"></Image>
</StackPanel>
</Button>
但是我不喜欢这张照片边框:
如何更改我的代码以避免这种情况?
答案 0 :(得分:3)
在WinForms中有一种简单的方法:将FlatStyle设置为Flat,例如
this.myButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
至于WPF(尽管Tobias的答案就像我写的那样:-),这里有一些有用的附加信息:WPF Flat Button
答案 1 :(得分: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>
答案 2 :(得分:1)
将按钮的填充设置为-2,这将导致图像隐藏边框。
像这样:
<Button Name="buttonSuchpfeil" Padding="-2" Margin="184,39,522,364">
<StackPanel>
<Image Source="..\Pictures\Suchpfeil.jpg"></Image>
</StackPanel>
</Button>
对于更复杂的布局更改(如MouseOver效果等),您需要更改按钮的模板。 This article将为您提供基础知识。