如何使 属性 中的默认值不同于 XAML 中的内容?

How to make the default property something other than Content in XAML?

我是 Windows 应用程序开发的新手。我正在创建一个自定义 UserControl,其他用户将能够在他们的应用程序中使用它。我想配置我的控件,如果你在其中放置任何东西,它将分配给 属性 而不是 Content。为了给你更好的解释,如果你这样写:

<Button>Hello, world!</Button>

这相当于你写了这个:

<Button Content="Hello, world!"/>

我能否让 XAML 解析器将我的控件的内容设置为 属性 而不是 Content,或者这不可能吗?

谢谢。

您可以使用 ContentPropertyAttribute:

[ContentProperty("DefaultProperty")]

更多信息位于:https://msdn.microsoft.com/en-us/library/system.windows.markup.contentpropertyattribute.aspx