0

I am creating a WPF app with multiple dynamically generated Textboxes in a grid. When I click one of the Textboxes it gets highlighted, but it cannot be edited. I would like to edit it immediatelly after mouse click.

I think that the problem may be in data binding, here is my code:

<DataGrid Margin="0 8 0 0" Grid.Column="1" Grid.Row="1"
                  ItemsSource="{Binding CelkovaKartovaZkouska.SelectedKZ.KodHodnota}"
                  CanUserSortColumns="False"
                  CanUserAddRows="False"
                  materialDesign:DataGridAssist.CellPadding="4 2 2 2"
                  materialDesign:DataGridAssist.ColumnHeaderPadding="4 2 2 2" 
                  HeadersVisibility="Column" SelectedIndex="-1"
                  AutoGenerateColumns="False" materialDesign:ThemeAssist.Theme="Light">
                <DataGrid.Columns>
                    <DataGridTextColumn
                        Binding="{Binding PKValKatalog}"
                        IsReadOnly="True"
                        Header="Katalog"
                        Width="50"
                        EditingElementStyle="{StaticResource MaterialDesignComboBoxEditableTextBox}" >
                        <DataGridTextColumn.CellStyle>
                            <Style TargetType="DataGridCell">
                                <Setter Property="ToolTip" Value="{Binding PKValKatalogName}" />
                            </Style>
                        </DataGridTextColumn.CellStyle>
                    </DataGridTextColumn>
                    <DataGridTextColumn
                        Binding="{Binding NazevGroupVady}"
                        IsReadOnly="True"
                        Header="Group"
                        Width="80"
                        EditingElementStyle="{StaticResource MaterialDesignComboBoxEditableTextBox}" >
                        <DataGridTextColumn.ElementStyle>
                            <Style TargetType="{x:Type TextBlock}">
                                <Setter Property="Background" Value="{Binding IdGroupVady, Converter={x:Static conv:ColorConverter.Instance}}" />
                            </Style>
                        </DataGridTextColumn.ElementStyle>
                    </DataGridTextColumn>
                    <DataGridTextColumn
                        Binding="{Binding Ko100}"
                        IsReadOnly="True"
                        Header="Ko100"
                        Width="45"
                        EditingElementStyle="{StaticResource MaterialDesignComboBoxEditableTextBox}" />
                    <DataGridTextColumn
                        Binding="{Binding Kzkod}"
                        IsReadOnly="True"
                        Header="Vada"
                        Width="50"
                        EditingElementStyle="{StaticResource MaterialDesignComboBoxEditableTextBox}" />
                    <DataGridTextColumn 
                        Binding="{Binding Kznazev}"
                        IsReadOnly="True"
                        Header="Název vady"
                        Width="180"
                        EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" />
                    <DataGridTemplateColumn Header="Hodnota" Width="60">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <TextBox 
                                    Text="{Binding Path= Kzval, Mode=TwoWay, UpdateSourceTrigger=LostFocus}"
                                    IsReadOnly="{Binding KZReadOnly}"
                                     />
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                </DataGrid.Columns>
            </DataGrid>```

I tried various experiments with focus events, nothing worked. How can I achieve this?

  • Welcome to Stackoverflow! Would it be in the "Hodnota" column because IsReadOnly="{Binding KZReadOnly}" is set to True? It's not clear what your code is doing in the background. – dwpessoa Mar 15 '23 at 10:30

0 Answers0