您的位置 : 首页 > 关于我们 >

WPF中关于样式和模板的区别

2019-08-12
WPF中关于样式和模板的区别

WPF中关于样式和模板的区别

时 间:2019年08月12日 14:12

详细介绍

  小弟正在学WPF,属于初学者,对两者的概念有点模糊,不知道什么时候该用样式,什么时候该用模板,求高手帮助,最好能有例子。感激不尽!...

  小弟正在学WPF,属于初学者,对两者的概念有点模糊,不知道什么时候该用样式,什么时候该用模板,求高手帮助,最好能有例子。感激不尽!

  知道合伙人教育行家采纳数:67814获赞数:317502教育行业10多年从业经验。向TA提问展开全部1.WPF样式

  类似于Web应用程序中的CSS,在WPF中可以为控件定义统一的样式(Style)。样式属于资源的一种,例如为Button定义统一的背景颜色和字体:

  此外还可以在Style中加入x:Key属性,做为特定的样式(注意,这种也需要定义TargetType);

  在第一个样式的基础上创建一个新样式可以达到这一目的,如下所示:Window.Resources

  以编程方式设置样式,若要以编程方式向元素分配命名样式,请从资源集合中获取该样式,然后将其分配给元素的 Style 属性。请注意,资源集合中的项是 Object

  类型,因此,将检索到的样式分配给 Style 属性之前,必须将该样式强制转换为 Style。例如,若要对名为 textblock1 的

  请注意,样式一旦应用,便会密封并且无法更改。如果要动态更改已应用的样式,必须创建一个新样式来替换现有样式。

  当一个控件的外观不满足要求的时候,我们可以使用“控件模板”的方式更改控件的外观,WPF中的所有控件,只要有视觉外观,

  ControlTemplate对象的直接影响。ControlTemplate对象定义了控件的完整外观,且你可以替换此对象。

  property的类型是ResourceDictionary,让我们定义一些只能够在模板内部使用的资源。第三个property最重要,叫做

  生自FrameworkElement,你可以在模板的视觉树内包含一个ContentPresenter对象,用来盛放模板中要放置的内容。

  ToString方法,用文本来展示该对象。这个功能让“派生自ContentControl”的控件可以用来显示任何种类的内容。

  展开全部简单来说如果只需对控件进行小幅度修饰(调整大小、位置、字体、颜色等)就用style,如果需要改变控件的外观和行为就用controlTemplate(形状、事件触发如鼠标停留效果等)。在实际项目中,我们经常把模板(Template)定义在样式(Style)中,通过设置style。

  比如:我要做一个用于地图缩放条的图片按钮,这时候通过style调整位置,用controltemplate设置按键形状。

  再给个简单例子:一个带有on/off字样的单选框,选中的时候off字样隐去,没选中的时候on隐去

  你可以在controltemplate中定义复杂的界面,比如:在复杂的treeview中,在controltemplate中定义左边带图片的样式以及右键菜单中,然后再datatemplate中定义层次结构。

  实在不好意思,虽然知道一图胜过千言,但截图实在不方便,这两个例子你可以自己运行一下,我也是才学wpf不久,但看了一些英文版的教程后,才慢慢上手,wpf-4-unleashed挺不错的

上一篇:关于后张预应力混凝土梁模板拆除的说法正确的有什么 下一篇:深圳通有限公司

人物观点

  • 杭州安和装饰工程有限公司
    杭州安和装饰工程有限公司

    杭州安和装饰工程有限公司成立于2007年,是一家创新创意研发公司,专业研发高端金属展示柜产品和背景形象墙及创意橱窗,拥有国家认证多个的产品专利,独立自主创意研发能力,数字一体化的

  • 江西红太阳展览工厂
    江西红太阳展览工厂

    南昌市红太阳装饰展示柜有限公司(以下简称红太阳展览) 是致力于提供展位设计搭建、特装展台设计制作、 电话: 展览展示策划布置、企业形象展厅设计制作、 终端卖场形象设计制作、展会

  • 阿里头条
    阿里头条

    现已越来越多的引起企业领导的重视,特别是一些注重品牌形象的企业,往往在办公楼内规划出一定的空间做为企业展厅,进行整体的形象包装和展示。 企业展厅分为文化展厅、荣誉展厅、产

  • Zara店面装修kmZara服装设计Zara童装展示柜
    Zara店面装修kmZara服装设计Zara童装展示柜

    广州市八千里货架有限公司是快消品店货架、服装店货架、饰品店货架、服装店道具、店面设计、内衣店货架、名创优品店货架、伶俐品牌货架、超市货架、奥特莱斯店货架、KM男装货架、ZA