这是一个非常基本的问题,我在网上的任何地方都找不到简单的答案。在 Windows 应用商店 xaml/c# 应用程序中,如果我创建一个Templated Control
名为CustomControl1.cs
.
这是 Generic.xaml 文件中定义的默认模板:
<Style TargetType="local:CustomControl1">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:CustomControl1">
<Border>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Border
我应该能够通过以下两种方式之一在上面的元素上设置 Content 属性来指定子内容的位置。
将内容指定为属性
<Border Child="{TemplateBinding Content}" />
将内容指定为元素
<Border>
<ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}" />
</Border>
但无论哪种情况,每当我在其他地方使用新控件时,我都无法设置 content 属性
使用这个:
<local:CustomControl1>
<Button></Button>
</local:CustomControl1>
给出以下两个错误:
无法向“CustomControl1”类型的对象添加内容“CustomControl1”
类型不支持直接内容。