我有一个用户控件:
public partial class MyControl : UserControl
{
private static readonly DependencyProperty pageContentProperty = DependencyProperty.Register("PageContent", typeof(UIElement), typeof(ActionPage), new PropertyMetadata(null));
public UIElement PageContent
{
get { return (UIElement)base.GetValue(pageContentProperty); }
set { base.SetValue(pageContentProperty, value); }
}
public MyControl()
{
InitializeComponent();
}
// More code
}
现在,如果我在XAML中使用它,我必须这样做:
<l:MyControl>
<l:MyControl.PageContent>
<TextBlock Text="Lorum Ipsum"/>
</l:MyControl.PageContent>
</l:MyControl>
但我想这样做:
<l:MyControl>
<TextBlock Text="Lorum Ipsum"/>
</l:MyControl>
目前,如果我执行此操作,则会使用TextBlock
替换控件的整个内容(这对于正常的UserControl
有意义)但是如何覆盖此行为?
答案 0 :(得分:2)
您可以尝试将ContentProperty
属性添加到PageContent
媒体资源中: -
[ContentProperty("PageContent")]
public partial class MyControl : UserControl