WPF自定义按钮问题

问题描述

我利用模板自定义了按钮,这些按钮的样式都相同只是背景图片不一样,但我只会在模板中定义一张,要不同的按钮对应不同的图片应该怎么做呐?求解答,多谢<UserControlx:Class="WpfApplication6.LeftButton"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"mc:Ignorable="d"d:DesignHeight="300"d:DesignWidth="300"><UserControl.Resources><Stylex:Key="ListLeftButton"TargetType="{x:TypeButton}"><SetterProperty="Template"><Setter.Value><ControlTemplateTargetType="{x:TypeButton}"><Grid><Rectanglex:Name="rectangle"><Rectangle.Fill><ImageBrushImageSource="skin/01228[46x62x8BPP].png"/></Rectangle.Fill></Rectangle></Grid><ControlTemplate.Triggers><TriggerProperty="IsFocused"Value="True"><SetterProperty="Fill"TargetName="rectangle"><Setter.Value><ImageBrushImageSource="skin/01227[46x62x8BPP].png"/></Setter.Value></Setter></Trigger><TriggerProperty="IsDefaulted"Value="True"/><TriggerProperty="IsMouseOver"Value="True"/><TriggerProperty="IsPressed"Value="True"><SetterProperty="Fill"TargetName="rectangle"><Setter.Value><ImageBrushImageSource="skin/01226[46x62x8BPP].png"></ImageBrush></Setter.Value></Setter></Trigger><TriggerProperty="IsEnabled"Value="False"/></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter></Style></UserControl.Resources><StackPanel><ButtonStyle="{StaticResourceListLeftButton}"Width="50"Height="60"/><ButtonStyle="{StaticResourceListLeftButton}"Width="50"Height="60"/><ButtonStyle="{StaticResourceListLeftButton}"Width="50"Height="60"/><ButtonStyle="{StaticResourceListLeftButton}"Width="50"Height="60"/><ButtonStyle="{StaticResourceListLeftButton}"Width="50"Height="60"/><ButtonStyle="{StaticResourceListLeftButton}"Width="50"Height="60"/></StackPanel></UserControl>

效果如图。

解决方案

解决方案二:
使用Converter转换类,给定一个标示区分。比如,每个Button设置不同Tag值。在Converter类里根据不同的Tag返回不同的图片路径。

时间: 2024-10-23 06:46:37

WPF自定义按钮问题的相关文章

WPF自定义控件与样式(2)-自定义按钮FButton

原文:WPF自定义控件与样式(2)-自定义按钮FButton 一.前言.效果图 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接.  还是先看看效果图吧:       定义Button按钮名称叫FButton,主要是集成了字体图标(参考上一篇:WPF自定义控件与样式1-矢量字体图标(iconfont)).其实在WPF里,要实现本文FButton的需求,完全可以不用自定义控件,使用样

WPF : 自定义Windows Presentation Foundation的控件

虽然 Windows Presentation Foundation 中的控件模型非常多,但仍不可能提供需要的每一种控件.这时候,控件编写就派上用场了.在本文中,我将向您讲述如何使用 Windows Presentation Foundation 自定义现有控件,以及如何为您的项目创建全新的控件(或元素). 在开发一个自定义控件之前,应该先问问自己是否真的需要它.在 Windows Presentation Foundation 中,组合.样式和模板化功能使您可以自定义现有控件,这是以前的技术所

WPF 自定义雷达图开发实例教程_C#教程

自定义雷达图表如下: 1.创建UserControl,名为"RadarChartControl" 前台: <UserControl x:Class="WpfApplication2.RadarChartControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/win

使用Buttons库通过Sass和Compass库实现自定义按钮

文章简介:本文从实用的角度出发,主要介绍了如何在实际项目中使用Buttons库,并且简章介绍了通过Sass和Compass库来实现自定义按钮.希望这篇文章对大家制作属于自己的按钮库有所帮助. 前几天在互联网上看到alexwolfe制作的Button库,觉得很有意思,特意花了些时间学习了一下这个库的源码与使用.今天花了点时间将期整理与大家分享. Button库并不是简单的一个CSS制作的Button库,在这里alexwolfe大师采用了SASS和Compass进行开发和维护的.或许有些同学看到这两

xcode-点击自定义按钮时触发事件

问题描述 点击自定义按钮时触发事件 创建了一个TableView,然后创建了自定义的单元,其中放了一个Button.现在我想要实现,点击索引的时候获取tableview的索引内容,但是点击了对应索引的按钮之后,没有给出索引列表. 我的tableview类名是SubMenuViewController,然后单元类名是SubMenuCell, SubMenuViewController代码如下: - (UITableViewCell *)tableView:(UITableView *)tableV

Qt之模型/视图(自定义按钮)

简述 衍伸前面的章节,我们对QTableView实现了数据显示.自定义排序.显示复选框.进度条等功能的实现,本节主要针对自定义按钮进行讲解,这节过后,也希望大家对自定义有更深入的了解,在以后的功能开发过程中,相信无论遇到什么样式形式,我们都可以很好地实现. 简述 效果 QStyledItemDelegate 源码 衍伸 效果 QStyledItemDelegate 源码 .h 包含显示按钮需要用到的智能指针,按钮的宽度.高度.按钮之间的间距.鼠标的坐标等. class TableViewDele

ios-如何iOS标签栏点击自定义按钮弹出模态视图

问题描述 如何iOS标签栏点击自定义按钮弹出模态视图 我自定义了一个UITabBar类:TabBar 在TabBar.m里面写代码设定这个按钮的参数 在TabBarViewController.m类里面放入这个按钮 TabBar * tabBar=[[TabBar alloc]init]; [self setValue:tabBar forKey:@"tabBar"]; 然后我在TabBar.m里面为这个按钮addTarget 但是addTarget事件里面无法写PresentView

uibutotn-在自定义按钮中设置文本

问题描述 在自定义按钮中设置文本 在自定义按钮使用自定义图片.然后我想设置标题时弄不上. 代码: - (void)viewDidLoad { UIImage *backButtonImage = [UIImage imageNamed:@"button.png"]; UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom]; [backButton setImage:backButtonImage forSt

vc60-如何用vc6.0画自定义按钮

问题描述 如何用vc6.0画自定义按钮 想要自制按钮,就是按下之后会亮的那种,用vc怎么画,或者说哪里有资源吗 解决方案 参考:http://blog.csdn.net/lightboat09/article/details/6069710http://download.csdn.net/detail/nexuiz2/3445593 解决方案二: setwindowlong子类化按钮,在wndproc里拦截WM_PAINT消息,使用GDI/GDI+或其他的绘图,返回0阻止系统重画 解决方案三: