2009-03-05 6 views

ответ

3

Попробуйте следующее. Не императив эксперт WPF, так что вы, возможно, потребуется изменить это немного

public void Example() 
{ 
    var factory = new FrameworkElementFactory(typeof(TextBlock)); 
    factory.SetBinding(TextBlock.TextProperty, new Binding("Text")); 

    var dataTemplate = new DataTemplate(); 
    dataTemplate.VisualTree = factory; 
    dataTemplate.Seal(); 
} 
+0

Почему вы звоните в печать()? Это зафиксировало проблему с созданием шаблона и привязкой его к сетке Telerik, но во всех примерах, которые я нашел для создания DateTemplate динамически, другие люди не использовались Seal()? –

+0

@RalphWillgoss прошло 4 года с тех пор, как я написал этот ответ, и я забыл свою причину назвать «Seal» в то время :( – JaredPar

+0

Спасибо, я мог бы сделать еще несколько исследований и посмотреть, что я могу найти. с контролем Telerik. У меня все работает, хочу знать, что происходит под капотом :-) –

3

Правильный способ создания DataTemplates из C# является использование XamlReader и дать ему то, что вы написали в своем вопросе.

Это, к сожалению, неприятно. Сожалею.

2

Я просто проверил интернет-документы - Alun правильно - использовать XamlReader. Согласно Microsoft, класс FrameworkElementFactory не поддерживает все функции XAML и может быть устаревшим в будущем.

Сказав это, я использовал FrameworkElementFactory для изменения DataTemplates на лету и не имел никаких проблем.

Смежные вопросы