首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ItemTemplate vs ControlTemplate

ItemTemplate vs ControlTemplate
EN

Stack Overflow用户
提问于 2009-02-22 18:25:02
回答 2查看 5.7K关注 0票数 6

我对学习WPF感到困惑。我看到ControlTemplate用来确定列表框中的每一项的外观。这不就是ItemTemplate在列表框中的用途吗?有什么关系?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-02-23 08:45:42

一个ControlTemplate可以让你改变现有控件的外观,例如,让一个普通的日常按钮看起来像Vista的任务栏闪闪发光的玻璃按钮,或者让选项卡控件看起来像新的Office2007功能区。

这个想法是,控件只包含行为,而ControlTemplate包含外观-所以按钮是“你点击的东西”,而不是“具有你可以点击的3d效果的矩形”。

您可以替换ListBox的控件模板,以获得类似于圆角或自定义滚动条的列表框。

DataTemplate (ItemTemplate是DataTemplate类型的属性)另一方面让你控制数据行在列表框(和其他类似控件)中的显示方式,数据模板被用来指定“显示姓氏,而不是逗号和名字--姓氏应该是粗体,如果名字以A开头,名字应该是绿色的”。

为了完整起见,还有一个ItemsPanelTemplate类,用于更改列表框的内部布局- Charles Petzold的WPF书中有一个使用它来使普通列表框显示其项目为圆形的示例。

票数 13
EN

Stack Overflow用户

发布于 2009-02-22 18:35:22

ItemTemplate描述了如何在列表框中呈现数据项(例如,您可以将列表框绑定到列表- ItemTemplate将允许您指定如何呈现Foo)。ItemTemplate是一种DataTemplate。

ControlTemplate描述了ListBox本身应该如何呈现

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/575389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档