wpf,控件模板库,下载.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
wpf,控件模板库,下载

wpf,控件模板库,下载 篇一:WPF中的模板 WPF中的模板收藏 直入正题, 本文有关WPF中的模板. 1. 为什么用模板 模板是用来定义(或重定义)对象的外观的好东西. WPF已经提供了Style来自定义外观, 那为什么还需要Template呢?是因为Style只能让你一个一个地设置对象的属性, 但template用来改变对象的组织结构. Style就好象是更改一台电脑的配置, 你可以换个内存, 换个显卡, 但它还是一台电脑, 而Template则是把电脑整个换成一部汽车, 或者是其它一种你想要的东西. Template一般使用于两种情况下: 1) 需要修改一个控件的外观, 这个控件可能是1) WPF内建的控件, 比如你对默认的 Button外观不爽了, 想把它换成一些别的什么, 比如一张图片或一个矩形. 2) 用户自建的控件, 它默认是什么都没有, 你得用模板使它可视化. 2) 需要为一种不可见的数据类型提供外观. 比如如果你把一个DateTime的对象作为Button的内容, 因为DateTime并不是一个可视的元素(UIElement), WPF会默认把其渲染成string; 为了提供更好的用户体验, 我们可以给它添加一个模板, 以控制WPF对DateTime对象的渲染 对应于这两种情况, WPF提供了两种模板类型, ControlTemplate和DataTemplate(以下简称CT和DT). 2. 开始使用模板的 例1. 使用CT lt;Window xmlns=/winfx/2006/xaml/presentation xmlns:x=/winfx/2006/xaml Title=Window1 Height=300 Width=300 lt;Button lt;Button.Template lt;ControlTemplate lt;Grid lt;Rectangle Fill=LightBlue Stroke=Black StrokeThickness=5 RadiusX=20 RadiusY=20/ lt;TextBlockHorizontalAlignment=Center VerticalAlignment=Center I#39;m a CT lt;/TextBlock lt;/Grid lt;/ControlTemplate lt;/Button.Template lt;/Buttonlt;/Window 例2. 使用DT lt;Window xmlns=/winfx/2006/xaml/presentation xmlns:x=/winfx/2006/xaml xmlns:sys=clr-namespace:System;assembly=mscorlib Title=Window1 Height=300 Width=300 lt;Button lt;Button.ContentTemplate lt;DataTemplate lt;StackPanel Orientation=Horizontal lt;Button Content={Binding Year} / lt;Button Content={Binding Month} / lt;Button Content={Binding Day} / lt;/StackPanel lt;/DataTemplate lt;/Button.ContentTemplate lt;sys:DateTime3/1/2008lt;/sys:DateTime lt;/Window 效果: 例1 例2 有一点需要注意, 从效果图里可以看出, 例2中的通过ContentTemplate属性设置的DT不会影响外部Button的渲染, 而通过例1中CT则会影响Button的渲染, 如Button的边框, 高亮都不见了——就好像CT会影响外部的Container(在这里是一个Button)的渲染, 而DT则会影响Containner里的Content的渲染; 所以在有些地方, 如ItemsControl中, CT是通过ItemContainerStyle设置, 而DT是通过ItemTemplate设置的. 但是从例1中可以看出, 由于使用了CT, Button的内容被完全自定义了; 那如何在新的CT中使用Button原有的Content呢? 我们当然可以手动在CT中添加一个控件, 并将其Content绑定到TemplatedParent上, 如下: lt;ControlTemplateTargetType=Button lt;Grid lt;Re

文档评论(0)

347991227 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档