<Style TargetType="{x:Type Button}" x:Key="TransparentButton"> <Setter Property="Button.Margin" Value="0,5,0,5" /> <Setter Property="Button.Width" Value="16" /> <Setter Property="Button.Height" Value="16" /> <Setter Property="Button.HorizontalAlignment" Value="Left" /> <Setter Property="Button.Background" Value="Transparent" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Border Width="{TemplateBinding Width}" Height="{TemplateBinding Width}" x:Name="panel"> <ContentPresenter Width="{TemplateBinding Width}" Height="{TemplateBinding Width}" /> </Border> <ControlTemplate.Triggers> <Trigger Property="IsPressed" Value="true"> <Setter Property="Background" Value="Transparent" TargetName="panel" /> </Trigger> <Trigger Property="IsMouseOver" Value="true"> <Setter Property="Background" Value="{x:Static SystemColors.GradientActiveCaptionBrush}" TargetName="panel" /> <Setter Property="BorderBrush" Value="{x:Static SystemColors.ActiveCaptionBrush}" TargetName="panel" /> <Setter Property="BorderThickness" Value="1,1,1,1" TargetName="panel"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style>
Application Example:
<Button Grid.Column="2"Style="{StaticResource TransparentButton}"Visibility="{Binding Path=ShowRemoveButton, Converter={StaticResource VisibilityConverter}, Mode=OneWay}"Command="{Binding RemoveTarget}"CommandParameter="{Binding}"><Image Source="..\..\..\Resources\Delete.gif" HorizontalAlignment="Center" VerticalAlignment="Center" ToolTip="Remove"/></Button>