Как я могу преобразовать этот код XAML в код C#?Как я могу преобразовать этот код XAML в код C#?
<Window.Resources>
<DataTemplate x:Key="itemtemplate">
<TextBlock Text="{Binding Path=Text}"/>
</DataTemplate>
</Window.Resources>
Как я могу преобразовать этот код XAML в код C#?Как я могу преобразовать этот код XAML в код C#?
<Window.Resources>
<DataTemplate x:Key="itemtemplate">
<TextBlock Text="{Binding Path=Text}"/>
</DataTemplate>
</Window.Resources>
Попробуйте следующее. Не императив эксперт 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();
}
Правильный способ создания DataTemplates из C# является использование XamlReader и дать ему то, что вы написали в своем вопросе.
Это, к сожалению, неприятно. Сожалею.
Я просто проверил интернет-документы - Alun правильно - использовать XamlReader. Согласно Microsoft, класс FrameworkElementFactory не поддерживает все функции XAML и может быть устаревшим в будущем.
Сказав это, я использовал FrameworkElementFactory для изменения DataTemplates на лету и не имел никаких проблем.
Почему вы звоните в печать()? Это зафиксировало проблему с созданием шаблона и привязкой его к сетке Telerik, но во всех примерах, которые я нашел для создания DateTemplate динамически, другие люди не использовались Seal()? –
@RalphWillgoss прошло 4 года с тех пор, как я написал этот ответ, и я забыл свою причину назвать «Seal» в то время :( – JaredPar
Спасибо, я мог бы сделать еще несколько исследований и посмотреть, что я могу найти. с контролем Telerik. У меня все работает, хочу знать, что происходит под капотом :-) –