Reputation: 13
I need a data grid with 3 text columns. This is my code:
<StackPanel>
<DataGrid ItemsSource="{Binding x}">
<DataGridTextColumn Header="Code" Binding="{Binding x}"/>
<DataGridTextColumn Header="Name" Binding="{Binding x}"/>
<DataGridTextColumn Header="Account" Binding="{Binding x}"/>
</DataGrid>
</StackPanel>
But this is my result: A data grid without columns but I have set them! Any ideas of what is happening?
P.S.: PLEASE DON'T FORGET TO OPEN THE LINK TO THE IMAGE! It's a screen shot of the result so everyone can understand
Upvotes: 1
Views: 279
Reputation: 169210
You forgot the <DataGrid.Columns>
element in your XAML.
You should add the columns to the Columns
property of the DataGrid
:
<StackPanel>
<DataGrid ItemsSource="{Binding x}">
<DataGrid.Columns>
<DataGridTextColumn Header="Code" Binding="{Binding x}"/>
<DataGridTextColumn Header="Name" Binding="{Binding x}"/>
<DataGridTextColumn Header="Account" Binding="{Binding x}"/>
</DataGrid.Columns>
</DataGrid>
</StackPanel>
If you omit the <DataGrid.Columns>
element, you are adding the columns to the Items
Collection which is why you see no columns.
Upvotes: 1
Reputation: 1922
Try
<StackPanel>
<DataGrid ItemsSource="{Binding x}">
<DataGrid.Columns>
<DataGridTextColumn Header="Code" Binding="{Binding x}"/>
<DataGridTextColumn Header="Name" Binding="{Binding x}"/>
<DataGridTextColumn Header="Account" Binding="{Binding x}"/>
</DataGrid.Columns>
</DataGrid>
</StackPanel>
Upvotes: 0