【WPF】 ContentPresenter 控件
概览
ContentPresenter用法
ContentPresenter 作为占位符表示“将实际内容放在这里”。 使用ContentPresenter 必须设置内容控件模板的tartgettype
所有的内容控件都包含ContentPresenter元素---它是表示“在此插入内容”的标记器,告诉wpf在何处保存内容
public System.Windows.DataTemplate ContentTemplate { get; set; }
可以在控件内部的 ControlTemplate 、DataTemplate使用,也可以在控件外不xaml中使用。
当你在ContentControl的ControlTemplate中放置一个ContentPresenter时,它会自动显示模板控件的Content。这意味着如果你将你的控制模板的目标类型设置为Button, ContentPresenter的Content属性会隐式绑定到使用该控制模板的按钮的Content。例如以下例子:
ContentPresenter.ContentSource
ContentPresenter.ContentSource 指明ContentPresenter控件显示内容的来源,默认来源与 ContentPresenter.Content属性
。 ContentPresenter.ContentSource只有在控件模板中起作用,当该控件放在 ControlTemplate 中时,ContentPresenter.ContentSource可指向控件模板所依赖 MyControl的其他属性; 例如,如果一个MyControl控件,他的ControlTemplate中包含一个ContentPresenter ,我们就可以修改ContentPresenter.ContentSource (默认指向Content)
,让他指向MyControl控件其他依赖属性MyProperty1
,
<ControlTemplate TargetType="MyControl" > [...] <ContentPresenter ContentSource="MyProperty1" /> [...] </ControlTemplate>
ContentPresenter 的内容将收到 的值MyProperty1
。
请注意,如果属性名称为Content
,则无需指定,ContentSource
因为它是默认值。
ContentPresenter.Content
<ContentPresenter Grid.Column="1" Grid.Row="1" Content="{Binding PhonogramMap50}" ></ContentPresenter>
ContentStringFormat
<ContentPresenter ContentStringFormat="c" Content="{Binding TotalSales}"/>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!