2009-12-18 2 views
1

Я мог бы использовать FrameworkElementFactory для создания шаблона, но этот класс устарел. Рекомендуемым способом, согласно MSDN, является использование XamlReader.Load для загрузки XAML из строки или потока памяти. Я получаю это работать, но думаю, что это отчасти грустно:Лучший способ создания/редактирования шаблона программно

string xaml = "a lot of XAML"; 

Любые предложения, чтобы быть в состоянии сделать это в лучшую сторону?

Что я действительно хочу сделать, так это возможность динамического изменения пути привязки в DataTemplate.

<DataTemplate x:Key="DataTemplate1"> 
    <StackPanel> 
     <TextBlock>Some text</TextBlock> 
     <TextBlock Text="{Binding ThePathIWantToChange}"/> 
    </StackPanel> 
</DataTemplate> 
+0

Не могли бы вы объяснить немного больше? Какой путь вы пытаетесь изменить? – Anvaka

+0

Я добавил немного XAML, чтобы лучше показать, что я хочу делать. – jostyposty

ответ

0

Jostein,

Не было бы проще изменить значение свойства и повышение PropertyChanged событие? Подход с обновлением всего шаблона данных выглядит для меня излишним.

+0

Я использую DataGrid из WPFToolkit, но не знаю, сколько и сколько столбцов у меня есть во время компиляции. Я использую событие AutoGeneratingColumn DataGrid для установки разных типов столбцов на основе некоторой информации в бизнес-объекте. В некоторых случаях мне нужно использовать DataGridTemplateColumn и, таким образом, установить CellEditingTemplate и CellTemplate. Когда я устанавливаю эти шаблоны, я хотел бы привязать привязку к текущему PropertyName, заданному объектом DataGridAutoGeneratingColumnEventArgs. Я не уверен, как я мог бы применить ваш подход в этом случае? – jostyposty

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