softshipper
softshipper

Reputation: 34097

Datagrid does not show buttons on row

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: enter image description here

I can not see any button in the datagrid row, but when I click in a column, then the button appears like: enter image description here

Why? As you can see, in columns edit and delete, the button disappear too. So wirred.

Upvotes: 1

Views: 438

Answers (1)

E-Bat
E-Bat

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

Related Questions