Как я могу преобразовать этот код XAML в код C #? - PullRequest
3 голосов
/ 06 марта 2009

Как я могу преобразовать этот код XAML в код C #?

<Window.Resources>
    <DataTemplate x:Key="itemtemplate">
        <TextBlock Text="{Binding Path=Text}"/>
    </DataTemplate>
</Window.Resources> 

Ответы [ 3 ]

4 голосов
/ 06 марта 2009

Попробуйте следующее. Не является обязательным экспертом 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();
}
4 голосов
/ 06 марта 2009

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

Что неприятно, если не сказать больше. К сожалению.

3 голосов
/ 06 марта 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...