WPF DataGrid ItemsSource Problème

S'il vous plaît laissez l'on sache que je suis relativement nouveau à WPF. Je suis entrain de créer un nouveau ObservableCollection avec le type de ma classe de données, et que l'attribution de la ItemsSource propriété de mon DataGrid. Avant de m'en aller dans mon problème voici le code:

XAML:

<my:DataGrid SelectionMode="Single" SelectionUnit="Cell" Height="113" HorizontalAlignment="Left" Margin="11,22,0,0" Name="addressGrid" VerticalAlignment="Top" Width="213" Background="#FFE2E2E2" AlternatingRowBackground="#FFA4CFF2" BorderBrush="#FF7C7C7C" HorizontalGridLinesBrush="White" PreviewKeyDown="addressGrid_PreviewKeyDown" CellEditEnding="addressGrid_CellEditEnding" BeginningEdit="addressGrid_BeginningEdit" PreparingCellForEdit="addressGrid_PreparingCellForEdit">
        <my:DataGrid.Columns>
        <my:DataGridTextColumn Header="Name" Width="*" Binding="{Binding Path=Name}"></my:DataGridTextColumn>
        <my:DataGridTextColumn Header="Value" Width="3*" Binding="{Binding Path=Value}"></my:DataGridTextColumn>
        <my:DataGridTextColumn Header="Index" Visibility="Hidden" Binding="{Binding Path=Index}"></my:DataGridTextColumn>
        </my:DataGrid.Columns>
</my:DataGrid>

Classe De Données:

public class PropertyFields
{
    public string Name { get; set; }
    public object Value { get; set; }
    public int Index { get; set; }
}

Population:

ObservableCollection<PropertyFields> propertyList = new ObservableCollection<PropertyFields>();
for (int i = 0; i < m_pFields.FieldCount - 1; ++i)
{
   propertyList.Add(new PropertyFields() {Name = m_pFields.Field[i].AliasName, Value = DisplayedValueForRow(i), Index = i});
}

//Set ItemSource to populate grid
addressGrid.ItemsSource = propertyList;

Plus d'informations concernant la population de la méthode:

Je suis la construction de cette solution avec ArcGIS cadre, de sorte que certaines choses ne sont pas de "Système" dans les moyens.

  • m_pFields est un IFields objet de l'interface qui me permet de stocker spatiale de la couche d'information

  • IFields a un FieldCount propriété qui retourne un nombre de champs dans la collection

  • DisplayedValueForRow(i) appelle une autre ArcGIS obj méthode IPropertySet.GetProperty() et renvoie la valeur.


Le Problème:

Tout est renseigné comme il se doit, mais pour une raison étrange, il est re-création de les trois colonnes (Nom, la Valeur de l'Indice) de nouveau SUR le DESSUS de remplissage de celles créées dans le code XAML -- À son tour de se retrouver avec 2 ensembles de données. J'ai trouvé ceci pour être le comportement bizarre, comme je vous jure, j'ai vu des gens se lient à leur grille de cette façon avant.

Ce que je fais mal?

Modifier

Grâce à ChrisO du commentaire, j'ai trouvé qu'il y est une propriété appelée "AutoGenerateColumns" qui devait être éteint. Eh bien je me sens comme un talon. Merci!

  • C'est à partir de la mémoire mais ne, vous devez définir le AutoGenerateColumns=false sur le contrôle DataGrid?
  • Si vous pouviez changer cela, pour répondre, je vais vous le donner. Merci de me laisser savoir à propos de cette propriété!
  • Heureux, il a aidé. J'ai créé une réponse pour vous d'accepter. Merci!