关于使用WPF模板为按钮添加样式

问题描述

初学WPF现在遇到一个问题,就是我再对话框上有许多按钮,按钮是由一个图标加按钮名字组成的每个按钮的图标都不一样,我想用模板做,可是这样一来图标都变成一样的了。所以我想问一下能不能在C#中动态产生样式,然后分别设置到各个按钮上,但是一直没找见例子。各位前辈有什么方法麻烦传授一下,谢谢~~

解决方案

解决方案二:
你应该先打印.net类库中标准Button的Style看看。你所谓的“模板”与wpf的概念关系不大。你要想吃鱼,最起码先要见过鱼,知道鱼有几个头。
解决方案三:
自定义一个控件类继承Button,给它添加一个图片的依赖属性,然后在模板里面对这个依赖属性进行绑定
解决方案四:
自己打造各种按钮privatevoidFrm_Main_Load(objectsender,EventArgse){btn_One.Image=//设置按钮上的图像global::MenuVestige.Properties.Resources.picture;btn_Tow.ForeColor=Color.Red;//设置按钮前景色为红色btn_Three.FlatStyle=FlatStyle.Flat;//设置按钮以平面显示btn_Three.ForeColor=Color.Blue;//设置按钮前景色为蓝色btn_Four.ForeColor=Color.Green;//设置按钮前景色为绿色btn_Four.FlatStyle=FlatStyle.Popup;//得到焦点后按钮为三维样式btn_Five.FlatStyle=FlatStyle.Standard;//设置按钮以三维样式显示btn_six.FlatStyle=FlatStyle.System;//按钮外观由操作系统决定btn_six.Font=newFont("隶书",20);//设置按钮文字字体}
解决方案五:
引用2楼zhoumeiwen的回复:

自定义一个控件类继承Button,给它添加一个图片的依赖属性,然后在模板里面对这个依赖属性进行绑定

正解!!!样式不能满足楼主的要求,只能自定义模板.
解决方案六:
引用4楼lincolnandlinda的回复:

Quote: 引用2楼zhoumeiwen的回复:
自定义一个控件类继承Button,给它添加一个图片的依赖属性,然后在模板里面对这个依赖属性进行绑定

正解!!!样式不能满足楼主的要求,只能自定义模板.

正解。附代码一份,publicclassImageButton:Button{publicstaticreadonlyDependencyPropertyImageSourceProperty=DependencyProperty.Register("ImageSource",typeof(ImageSource),typeof(ImageButton));publicImageSourceImageSource{get{return(ImageSource)GetValue(ImageSourceProperty);}set{SetValue(ImageSourceProperty,value);}}}

时间: 2024-11-02 13:23:19

关于使用WPF模板为按钮添加样式的相关文章

JavaScript CSS修改学习第五章 给“上传”添加样式_基础知识

问题 在一个网站中可能我的输入框式下面这样的:  设计者可能想让上传部分也像这样然后再添加一个select按钮.但是当我想把普通的输入框改为上传框时就根本不能工作.浏览器之间有很大的不同,给默认按钮添加样式也几乎不可能. 这很难成为设计的很好的上传框,但是也是我们能做的最多的了. 注意到Safari的设计有些不同.Safari小组想关闭手动输入文件的功能,可能担心这样的溢出.这样设计有个缺点就是用户在选择了一个文件之后不能取消上传文件. 解决办法 读者Michael McGrady发明了一个不错

javascrpit-给一个按钮点击事件,点击的同时给按钮添加一个样式,怎么样使进行其他操作的时候恢复按钮的样式

问题描述 给一个按钮点击事件,点击的同时给按钮添加一个样式,怎么样使进行其他操作的时候恢复按钮的样式 比如点击弹出个对话框,我关闭对话框后,按钮恢复原来的样式 解决方案 对话框插件一般有关闭事件,你配置那个关闭事件删除添加的高亮样式即可.具体看你的对话框API了

c# 控件 自定义控件-用wpf模板建造一个原型按钮

问题描述 用wpf模板建造一个原型按钮 xaml文件是: xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> Button

按钮添加超级链接,应该怎么改改,或者超链接是按钮样式

问题描述 按钮添加超级链接,应该怎么改改,或者超链接是按钮样式 <html> <head> </head> <body> <div id = "txt"> <form> <input type="submit" value="submit" /> </form> ddss </div> <script language="J

VS中模仿WPF模板创建最简单的WPF程序_C#教程

如果不用VS的WPF项目模板,如何手工创建一个WPF程序呢?我们来模仿WPF模板,创建一个最简单的WPF程序. 第一步:文件--新建--项目--空项目,创建一个空项目. 第二步:添加引用,PresentationFramework,PresentationCore,WindowsBase,System,System.Xaml,这几个是WPF的核心dll. 第三步:在项目上右键添加新建项,添加两个"xml文件",分别命名为App.xaml和MainWindow.xaml.可以看出,xam

MFC中按钮的样式为什么运行之后会不同?

问题描述 MFC中按钮的样式为什么运行之后会不同? 为什么对话框设计时候还有运行结果的按钮样式不同呢,而且,不同的项目,同样的去添加按钮,运行之后一个就跟设计界面相同,还有的就没有样式...Why??? 解决方案 就是有没有使用manifest文件的区别.MFC 实现XP样式 解决方案二: 这个跟Windows控件版本有关,默认程序使用5.0控件,要使用6.0控件,需要在manifest里添加.6.0控件就有系统风格了 解决方案三: 先看你用的VC编译器版本,一般2005以后的界面风格比较好,同

ext中file控件的浏览按钮的样式 怎样改变??

问题描述 ext中file控件的浏览按钮的样式 怎样改变?? 问题补充:lizhi92574 写道 解决方案 修改一下代码this.input_file.on("change", function(e) {if (navigator.userAgent.indexOf('Firefox') >= 0) { //Firefox浏览器try {netscape.security.PrivilegeManager.enablePrivilege("UniversalXPCon

jQuery给元素添加样式的方法详解_jquery

本文实例讲述了jQuery给元素添加样式的方法.分享给大家供大家参考,具体如下: 1.获取和设置样式 $("#tow").attr("class")//获取ID为tow的class属性 $("#two").attr("class","divClass")//设置Id为two的class属性. 2.追加样式 复制代码 代码如下: $("#two").addClass("divCl

JQuery为元素添加样式的实现方法_jquery

由于jquery支持css3,所有能很好的兼容很多浏览器,所以通过jquery来使用css样式比较好 为定义好的css样式可以调用元素的css方法添加样式 $("span").css("css属性名","属性值") 如  $("span").css("color","red") 将标签为span的字体都设为红色的 $("#id")  $("span"