Создайте ContentControl в коде позади

Как создать следующую границу с контролем содержимого в коде?

<Border Name="Test">
        <ContentControl ContentTemplate="{StaticResource _cardDataTemplate}" Content="{Binding}"/>
</Border>

Я использую следующий код, но шаблон данных не применяется:

Border newCard = new Border();
newCard.Child = new ContentControl()
{
    ContentTemplate = CardDataTemplate
};

CardDataTemplate назначается, и, насколько я знаю, это не проблема.


person Mathias Colpaert    schedule 17.11.2015    source источник
comment
шаблоны данных состоят из фабрик, а не элементов управления. Проверьте FrameworkElementFactory (и связанные классы)   -  person Jaster    schedule 17.11.2015


Ответы (1)


В вашем случае вам нужно создать привязку свойства Content к DataContext ( Content="{Binding}" в XAML). Вы можете сделать это, написав следующий код:

BindingOperations.SetBinding(yourContentControlInstance, ContentControl.ContentProperty, new Binding());
person Alexis    schedule 17.11.2015
comment
Спасибо!! Весь день искал решение этой проблемы. В моем случае шаблон был применен, но привязка не работала. Неужели так сложно найти информацию об этом, потому что есть лучший способ создания экземпляров шаблонов из кода? - person Night94; 13.10.2020