<Style x:Key="BtnBackgroundIconCustomDialogStyle" TargetType="{x:Type Button}">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="SnapsToDevicePixels" Value="true" />
<Setter Property="Width" Value="150" />
<Setter Property="Height" Value="40" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="FontWeight" Value="Normal" />
<Setter Property="FontSize" Value="17" />
<Setter Property="Foreground" Value="White" />
<Setter Property="Background" Value="#049AFF" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border BorderThickness="{TemplateBinding BorderThickness}" Width="{TemplateBinding Width}" CornerRadius="4" Background="{TemplateBinding Background}" Effect="{TemplateBinding Effect}" HorizontalAlignment="Center">
<Grid HorizontalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Tag}" Width="14" Height="14" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" />
<TextBlock Grid.Column="1" Text="{TemplateBinding Content}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="5" Foreground="{TemplateBinding Foreground}" FontSize="{TemplateBinding FontSize}" FontWeight="{TemplateBinding FontWeight}" TextAlignment="Center" />
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="#2B6FD5" />
<Setter Property="Foreground" Value="#fff" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#2B6FD5" />
<Setter Property="Foreground" Value="#fff" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
![]()
该文章详细描述了一个WPF中的Button样式定义,包括背景、前景色、图标和焦点状态下的样式变化,使用了ControlTemplate和TemplateBinding等技术。
1万+

被折叠的 条评论
为什么被折叠?



