2009-12-18 9 views
1

Je pourrais utiliser FrameworkElementFactory pour créer un modèle, mais cette classe est obsolète. La méthode recommandée, selon MSDN est d'utiliser XamlReader.Load pour charger XAML à partir d'une chaîne ou un flux de mémoire. Je reçois cela fonctionne, mais pense que c'est un peu triste:Meilleure façon de créer/modifier un modèle par programme

string xaml = "a lot of XAML"; 

Toutes les suggestions pour pouvoir faire une meilleure façon?

Ce que je veux vraiment faire est de pouvoir changer dynamiquement un chemin de liaison dans un DataTemplate.

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

Pourriez-vous expliquer un peu plus? Quel chemin essayez-vous de changer? – Anvaka

+0

J'ai ajouté du XAML pour mieux montrer ce que je veux faire. – jostyposty

Répondre

0

Jostein,

Ne serait-il plus facile de changer la valeur de la propriété et augmenter événement PropertyChanged? Approche avec la mise à jour du modèle de données complet ressemble à l'exagération pour moi.

+0

J'utilise le DataGrid du WPFToolkit, mais je ne sais pas combien de colonnes j'ai au moment de la compilation. J'utilise l'événement AutoGeneratingColumn du DataGrid pour définir différents types de colonne en fonction de certaines informations dans un objet métier. Dans certains cas, j'ai besoin d'utiliser DataGridTemplateColumn, et donc de définir CellEditingTemplate et CellTemplate. Lorsque je définis les templates theese je voudrais que la liaison soit définie sur le PropertyName actuel donné par l'objet DataGridAutoGeneratingColumnEventArgs. Je ne sais pas comment je pourrais appliquer votre approche dans ce cas? – jostyposty

Questions connexes