首页 ZnWPF 文档 关于
左咛HIT
.net 开发热爱者
#桌面(WPF) #Web(asp.net) #领域驱动设计

从 winform 到 WPF 再到 asp.net ,这一切都使我获益良多。

QQ : 1176156504

微信 : s1176156504

邮箱 : zidream@foxmail.com

IconButton

所属程序集:ZnWpf.Presentation

描述

本控件为自定义控件,在圆角按钮的基础上,实现了带图标的按钮

具体为:

  • 修改了Button的默认样式,使其契合控件库的整体风格
    • 修改了默认的背景颜色和填充
    • 移除了略显突兀的默认特效,现在你可以自由添加你想要的特效
  • 增加了圆角特性,现在你控制按钮四角的弧度了
  • 增加了图标

icb

一个简单且实用的自定义特效

<Style x:Key="IconButtonBase" TargetType="{x:Type controls:IconButton}">
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="true">
            <Setter Property="Foreground" Value="#fdf4d5"></Setter>
        </Trigger>
    </Style.Triggers>
</Style>
<StackPanel HorizontalAlignment="Left">
    <StackPanel.Resources>
        <Style x:Key="IconButtonBase" TargetType="{x:Type controls:IconButton}">
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="true">
                    <Setter Property="Foreground" Value="#fdf4d5"></Setter>
                </Trigger>
            </Style.Triggers>
        </Style>
    </StackPanel.Resources>
    <controls:IconButton Style="{StaticResource IconButtonBase}" Margin="5" CornerRadius="0">CornerRadius="0"</controls:IconButton>
    <controls:IconButton Style="{StaticResource IconButtonBase}" Margin="5" CornerRadius="5">CornerRadius="5"</controls:IconButton>
    <controls:IconButton Style="{StaticResource IconButtonBase}" Margin="5" CornerRadius="10">CornerRadius="10"</controls:IconButton>
</StackPanel>

依赖属性


依赖属性 类型 默认值 描述
CornerRadius CornerRadius 0 按钮的圆角
Icon ImageSource null 按钮图标
IconHeight double 16 图标大小
IconMargin Thickness 0,0,5,0 图标的边缘