Установка содержимого XAML элемента управления в свойство этого элемента управления - PullRequest
1 голос
/ 07 апреля 2011

У меня есть пользовательский элемент управления как таковой:

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), но как я могу переопределить это поведение?

1 Ответ

2 голосов
/ 07 апреля 2011

Вы можете попробовать добавить атрибут ContentProperty в ваше свойство PageContent: -

[ContentProperty("PageContent")]
public partial class MyControl : UserControl
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...