2016-06-25 4 views
0

Ich habe ein Datagrid wie folgt aus:Anzeige benutzerdefinierten Namen auf Kontrolle statt Variablennamen in Ansichtsmodell

<DataGrid 
     x:Name="TotalMatch" 
     ItemsSource="{Binding TotalMatch}"/> 

Ich bin mit dem Viewmodel-Muster, so in meiner Eigenschaft ich in diesem Fall erstellt haben eine ObservableCollection die die Daten speichern. Diese Sammlung hat die Struktur der TotalMatch:

public class TotalMatch 
{ 
    public int InPlay { get; set; } 
    public int Terminated { get; set; } 
    public int Total { get; set; } 
} 

Nun ist die Datagrid-Spalte als Variablennamen angezeigt werden, so: inPlay, Abgebrochen und so weiter ..

Ich frage mich, wenn möglich Anzeige statt Der Variablenname ist ein benutzerdefinierter Name. Danke im Voraus.

Antwort

1

@Pharoah hat Recht - es gibt ein paar Standard-Spaltentypen, die Sie verwenden können, die einfachste ist DataGridTextColumn. So können Sie am Ende mit:

<DataGrid 
     x:Name="TotalMatch" 
     ItemsSource="{Binding TotalMatchCollection}" AutoGenerateColumns="False" 
> 
    <DataGridTextColumn Header="In Play" Binding="{Binding Path=InPlay}" /> 
    <DataGridTextColumn Header="Terminated" Binding="{Binding Path=Terminated}" /> 
    <DataGridTextColumn Header="The Total" Binding="{Binding Path=Total}" /> 
</DataGrid> 

ich ein wenig überrascht bin von Ihrer aber verbindlichen - sehen Sie die ItemSource auf ein einzelnes Element in Ihrem ObservableCollection zu Einstellung, während Sie in der Regel auf den ganzen gesetzt würden Sammlung. Also nahm ich einen Punt und änderte die ItemsSource in diesem Snippet.

0

Sie können den Spalten benutzerdefinierte Namen zuweisen. In Datagrid gibt es Eigenschaften wie HeaderText, mit dem Sie den Spaltennamen auswählen können. Sie müssen jedoch jede Spalte einzeln mit dem DataColumn-Steuerelement binden.

Verwandte Themen