如何使 属性 中的默认值不同于 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
我是 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