Reputation: 34097
I created a datagrid that looks like follow:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="40" />
</Grid.RowDefinitions>
<DataGrid Grid.Row="0" ColumnWidth="*" ItemsSource="{Binding Items}" CanUserAddRows="false"
CanUserResizeColumns="False" AutoGenerateColumns="False" CanUserResizeRows="False"
IsSynchronizedWithCurrentItem="True" SelectedItem="{Binding SelectedItem}">
<DataGrid.Columns>
<DataGridTextColumn Header="Prefix" Binding="{Binding Prefix, Mode=OneWay}" IsReadOnly="true" Width="*" />
<DataGridTemplateColumn Header="Show">
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<Button>Details1</Button>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Edit" IsReadOnly="True">
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<Button>Details2</Button>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Delete" IsReadOnly="True">
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<Button>Details3</Button>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
<Button Grid.Row="1" Width="70" HorizontalAlignment="Right" Content="Add" FontSize="16" Margin="0,10,0,0"
Command="{Binding Create}" />
</Grid>
My problem is, when I execute the wpf application:
I can not see any button in the datagrid row, but when I click in a column, then the button appears like:
Why? As you can see, in columns edit and delete, the button disappear too. So wirred.
Upvotes: 1
Views: 438
Reputation: 4892
You defined CellEditingTemplate but forget to include the CellTemplate or maybe you only need CellTemplate??:
<DataGridTemplateColumn Header="Show">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Details1}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<Button>Details1</Button>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
Upvotes: 2