WPF 自定义按钮 Style

摘要:
˂SetterPrope
        
        <Style TargetType="{x:Type Button}" x:Key="DefaultButton">
            <Setter Property="Foreground" Value="White"/>
            <Setter Property="FontFamily" Value="Microsoft YaHei"/>
            <Setter Property="FontSize" Value="12"/>
            <Setter Property="FontWeight" Value="Bold"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Border Name="bd" BorderBrush="{TemplateBinding Control.BorderBrush}" BorderThickness="0" CornerRadius="5,5,5,5">
                            <Border.Background>
                                #ffffee55
                            </Border.Background>
                            <ContentPresenter Content="{TemplateBinding ContentControl.Content}" HorizontalAlignment="Center" VerticalAlignment="Center" ></ContentPresenter>
                        </Border>
                        <ControlTemplate.Triggers>
                            <EventTrigger RoutedEvent="Mouse.MouseEnter">
                            <EventTrigger.Actions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <ColorAnimation 
                                          Duration="0:0:0.2" To="#ffff5555" Storyboard.TargetName="bd"  Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"      />
                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger.Actions>
                          </EventTrigger>
                            <EventTrigger RoutedEvent="Mouse.MouseLeave">
                                <EventTrigger.Actions>
                                    <BeginStoryboard>
                                        <Storyboard>
                                            <ColorAnimation 
                                          Duration="0:0:0.2" To="#ffffee55" Storyboard.TargetName="bd"  Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"      />
                                        </Storyboard>
                                    </BeginStoryboard>
                                </EventTrigger.Actions>
                            </EventTrigger>
                            <EventTrigger RoutedEvent="Mouse.PreviewMouseDown"><!--PreviewMouseDown 而不要用MouseDown-->
                                <BeginStoryboard>
                                        <Storyboard>
                                            <ColorAnimation 
                                          Duration="0:0:0.2" To="#ffff3333" Storyboard.TargetName="bd"  Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"      />
                                        </Storyboard>
                                    </BeginStoryboard>
                            </EventTrigger>
                            
                            
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

  

免责声明:文章转载自《WPF 自定义按钮 Style》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java 调用webservice的各种方法总结urllib2.HTTPError: HTTP Error 403: Forbidden 解决方法 &amp;amp; requests get 403 error下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

手把手教你 用 wpf 制作metro ProgressRing (Windows8 等待动画)

效果图: 还在羡慕metro的ProgressRing吗? wpf 也可以拥有 首先说下思路, 一共6个点围绕一直圆转,所以需要使用rotation动画 并且一直转下去。 那么下面的问题就好解决了。 首先是xaml 部分 我们需要实现旋转动画: 所以要用到这个: [html]view plaincopyprint? <DoubleAnima...

《深入浅出WPF》学习笔记二数据绑定(Binding)、依赖属性和附加属性

第六章 深入浅出话Binding    1、绑定的源可以是任意对象,并通过属性公开自己的数据;         绑定的目标必须是依赖对象的依赖属性。    2、INotifyPropertyChanged接口,当对象实现了这个接口的时候,当数据源改变的时候可以通知UI同时实现改变,         实现原理:当为Binding设置了数据源后,Bindin...

一起谈.NET技术,WPF 自定义快捷键命令(Command) 狼人:

     命令简介      WPF 中的命令是通过实现 ICommand 接口创建的。ICommand 公开两个方法(Execute 及 CanExecute)和一个事件(CanExecuteChanged)。Execute 执行与命令关联的操作。CanExecute 确定是否可以在当前命令目标上执行命令。如果集中管理命令操作的命令管理器检测到命令源中发...

WPF通过深拷贝实现保存与取消

用old保存就设置,用new保存新设置确认逻辑 public void SaveCurrent() { //创建一个新对象(深拷贝) oldConfig = CopyEx.DeepCopyByBin(config); } 取消逻辑 public voi...

WPF界面控件Telerik UI for WPF

文中展示了使用Telerik nuget包获取dll时的生命周期,作为替代方案,您可以使用MSI或Zip文件,或Telerik UI for WPFExtension。 Telerik UI for WPF R3 2021最新版 创建一个项目 要创建项目,请打开 Visual Studio solution,然后使用Telerik UI for WPF E...

WPF多语言化的实现

  Metro插件系统系列就暂时停一下,这次我们讨论一下WPF的资源本地化实现,主要用到的:CultureInfo,ResourceManger,MarkupExtension,RESX文件,这些都是.NET框架提供的。 项目结构: 运行结果: 可在程序运行时,实时切换语言 CultureInfo   CultureInfo类表示有关特定区域性的信息...