365bet手机网址是多少-正规365彩票平台app下载-365bet游戏开户

Control Templates 控制模板

与样式一样,我们可以通过在ControlTemplate元素上设置TargetType属性来避免在模板绑定属性名称前加上类前缀: Content Presenters 内容展示

Control Templates 控制模板

与样式一样,我们可以通过在ControlTemplate元素上设置TargetType属性来避免在模板绑定属性名称前加上类前缀:

Content Presenters 内容展示器

内容展示器是 WPF 等同于“您的内容”,它允许在运行时插入由ContentControl持有的内容。

将Padding从按钮内部映射到内容呈现器 Margin外部

就像Padding和Margin之间的映射一样,构建为您提供所需外观的元素并从模板化父级绑定适当

的属性将是创建您自己的控件模板的大量工作。

Template Triggers 模板触发器

Name="rect" />

Repurposing an existing property 扩展模板

在构建控件模板时,通常情况下您想要公开的变量多于被“模板化”的控件上的属性

Name="rect" />

Value="{Binding Path=Tag,RelativeSource={RelativeSource TemplatedParent}}">

当IsMouseOver属性为True时,控件模板的触发器使用Tag属性的值。请注意,我们使用普通绑定(使用TemplatedParent RelativeSource)而不是模板绑定,因为普通绑定对象在运行时支持强制转

换,而模板绑定在编译时静态检查类型。正常绑定的使用使我们能够从对象类型的Tag属性中拉出BitmapEffect 。

当我们使用这种样式创建一个按钮时, Tag值充当默认值,我们可以用任何满足我们想象的位图效果来覆盖它(如示例 9‑6 中的中间按钮所示)。

请记住,控件的工作是提供行为。控件模板提供视觉效果。控件可以提供一组默认的视觉效果,但它应该允许替换这些视觉效果,以便提供与内置控件相同的灵活性。如果您需要同时提供自定义行为

和自定义视觉效果,请构建两个组件:一个控件和一个设计用于合并到控件模板中的元素。符合这种

当然,控件不可能完全独立于其视觉效果。如果控件要正确运行,任何控件都会强加一些模板必须满足的要求。这些要求的范围因控制而异。

任何控件类型与样式或模板之间都存在隐含的契约。

控件允许通过替换可视化树来自定义其外观,但树必须反过来代表控件提供某些功能。

以下部分描述了控件与其模板相关的各种方式。

← 上一篇: 新晋男团YHBOYS组合成员名单 七位成员详细资料_北京时间
下一篇: 年息和月息怎么计算公式的利息是多少 →

相关推荐

那对恩爱的「日本COSER夫妻」,如今仍在继续:撒狗粮!
如何更新《我的世界》▷➡️
电脑没有键盘肿么输入开机密码
做题赚钱每题2元?揭秘答题赚钱的真相
草莽的解释
如何在 Windows 上使用 MemTest64:指南和比较
域名过期保护期和保留期长短解析:国内与国际域名的区别
征途2手游怎么赚人民币 征途2手游怎么赚钱
剑灵大漠主线任务多少?
联想Y470系列
京东和唯品会哪个好
dnf兽人收集箱有哪些