【WPF】使用 XAML 的 Trigger 系统实现三态按钮
2015-04-17 08:27
781 查看
利用 WPF 的 Trigger 系统,也可以很简单的只使用xmal实现三态按钮。在Window或UserControl的资源中声明按钮的style并加入触发功能。使用的时候直接在button里复写style就可以了,废话不多说,直接上代码:
使用时在button中引用:
<Button x:Name="m_btn" Content="Button" HorizontalAlignment="Center" Width="60" Height="60"
VerticalAlignment="Center" Style="{StaticResource threeStateButton}"/>
<UserControl.Resources> <Style x:Key="threeStateButton" TargetType="{x:Type Button}"> <Setter Property="SnapsToDevicePixels" Value="True"/> <Setter Property="OverridesDefaultStyle" Value="True"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Button}"> <StackPanel Orientation="Horizontal" > <Image Name="ImgBtnBg3" Source="Skins/Default/action_normal.png" /> </StackPanel> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Source" Value="Skins/Default/action_selected.png" TargetName="ImgBtnBg3"/> </Trigger> <Trigger Property="IsPressed" Value="True"> <Setter Property="Source" Value="Skins/Default/action_active.png" TargetName="ImgBtnBg3"/> </Trigger> <Trigger Property="IsEnabled" Value="False"> <Setter Property="Source" Value="Skins/Default/action_normal.png" TargetName="ImgBtnBg3"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </UserControl.Resources>
使用时在button中引用:
<Button x:Name="m_btn" Content="Button" HorizontalAlignment="Center" Width="60" Height="60"
VerticalAlignment="Center" Style="{StaticResource threeStateButton}"/>
相关文章推荐
- 使用button标签,实现三态图片按钮
- 使用button标签,实现三态图片按钮
- WPF入门(三)-使用XAML创建玻璃按钮
- .NET WPF开发的相关应用系统可以使用WPF XAML(浏览器应用程序XBAP)
- 在C#的WPF程序使用XAML实现画线
- 【WPF】XAML实现按钮背景图片的点击切换
- 使用httpclient实现上传下载(javaWeb系统数据传输http实现)
- Windows Mobile/Windows CE开发技巧 —— 使用钩子实现自定义系统功能键
- OS X 系统下实现python脚本工具在任意目录下直接使用
- 使用radiogroup和viewpage实现底部导航出现的按钮选中界面没有改变的问题
- Android应用中使用及实现系统“分享”接口实例
- 使用tinymini210开发远程的温度监控系统,实现C#和安卓客户端显示数据和控制
- 通达OA 使用Ajax和工作流插件实现根据人力资源系统数据增加OA账号(图文)
- 通达OA 使用Ajax和工作流插件实现根据人力资源系统数据增加OA账号(图文详解)
- QT实现按钮的三态
- AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
- 【WPF】【C#】使用BackgroundWorker实现多线程/异步操作
- wpf使用devexpress RibbonControl实现导航窗体
- 使用angular 实现简单 用户-角色-菜单-按钮权限控制
- java swing 点击关闭按钮最小化到系统托盘的实现