问题描述
初学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);}}}