2010-09-02 4 views
1

J'ai passé des heures sur cette sorte que toute aide est très appréciée:Silverlight Reliure Chemin Dynamiquement

J'ai un TextBlock dans un DataTemplate qui a un ItemsSource déjà défini. Je veux lier le texte du TextBlock et définir le chemin à quel que soit le chemin d'un objet différent dans le code-behind. J'ai tout essayé je peux penser même ceci:

<TextBlock Text="{Binding Path='{Binding ElementName=sendingComboColumn,Path=DisplayMemberPath}'}" /> 

Je ne peux pas comprendre comment définir dynamiquement le chemin !! Il doit être générique en fonction de la colonne qui l'a appelé.

Répondre

1

J'ai finalement trouvé une solution! Plutôt que d'essayer de changer dynamiquement le chemin à l'intérieur du DataTemplate Je viens de créer une nouvelle DataTemplate dans le code et affecter le ListBox.ItemTemplate au nouveau DataTemplate:

public static DataTemplate CreateTemplate(string path) 
     { 
      return (DataTemplate)XamlReader.Load(
       @"<DataTemplate xmlns=""http://schemas.microsoft.com/client/2007""> 
        <StackPanel Orientation='Horizontal'> 
         <CheckBox IsChecked='{Binding}' /> 
         <TextBlock Text='{Binding Path=" + path + @"}'/> 
        </StackPanel> 
        </DataTemplate>" 
       ); 
     } 
    this.listBox.ItemTemplate = CreateTemplate(path); 
Questions connexes