Vous pouvez également définir les liaisons de chaque colonne dans le code-behind.
Voici un DataGrid exemple avec des colonnes manuellement définies avec le texte d'en-tête personnalisé:
<toolkit:DataGrid x:Name="dataGrid" AutoGenerateColumns="False">
<toolkit:DataGrid.Columns>
<toolkit:DataGridTextColumn x:Name="column1" Header="My Header" />
<toolkit:DataGridTextColumn x:Name="column2" Header="Another Header" />
<toolkit:DataGridTextColumn x:Name="column3" Header="Third Header" />
</toolkit:DataGrid.Columns>
</toolkit:DataGrid>
Et voici un code-behind qui lie chaque colonne à une propriété de la collection qui est configuré pour être le ItemsSource :
this.dataGrid.ItemsSource = this.testCollection; // replace with your collection
this.column1.Binding = new Binding("Property1"); // replace with your property names
this.column2.Binding = new Binding("Property2");
this.column3.Binding = new Binding("Property3");
vous pouvez modifier le texte d'en-tête et de la visibilité dans le code si vous le souhaitez:
this.column1.Header = "New Header";
this.column2.Visibility = System.Windows.Visibility.Collapsed;
J'utilise simplement une classe de test simple, Prop, avec quelques propriétés de chaîne.
public class Prop
{
public string Property1 { get; set; }
public string Property2 { get; set; }
public string Property3 { get; set; }
public Prop(string p1, string p2, string p3)
{
this.Property1 = p1;
this.Property2 = p2;
this.Property3 = p3;
}
}
Que vous. Je n'ai pas utilisé exactement cela, mais cela m'a édité à l'idée. Assistance opportune, mec :) – Branimir