Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Datagrid根据数据网格中的单元格单击设置编辑模式的打开和关闭_C#_Wpf - Fatal编程技术网

C# Datagrid根据数据网格中的单元格单击设置编辑模式的打开和关闭

C# Datagrid根据数据网格中的单元格单击设置编辑模式的打开和关闭,c#,wpf,C#,Wpf,我有一个WPF数据网格,默认情况下我已经关闭了编辑模式。 我在数据网格上有一个更新图标,当我单击每行上的更新图标时,我希望编辑模式设置为打开,并且数据网格的第一个单元格应该被聚焦 <DataGrid Grid.Row="2" Name="dgList" Margin="0,10,0,0" ItemsSource="{Binding List,Mode=TwoWay}" RowHeight="40" ColumnWidth="*" A

我有一个WPF数据网格,默认情况下我已经关闭了编辑模式。 我在数据网格上有一个更新图标,当我单击每行上的更新图标时,我希望编辑模式设置为打开,并且数据网格的第一个单元格应该被聚焦

  <DataGrid  Grid.Row="2" Name="dgList" Margin="0,10,0,0" ItemsSource="{Binding List,Mode=TwoWay}" RowHeight="40" ColumnWidth="*"
                          AutoGenerateColumns="False" CanUserAddRows="False" MouseLeftButtonDown="dgList_MouseLeftButtonDown" 
              PreviewMouseLeftButtonDown="dgList_PreviewMouseLeftButtonDown" > 
                    <DataGrid.Columns>
                        <DataGridTemplateColumn Header="Image" MinWidth="250" IsReadOnly="True">
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <Image Source="{Binding Path=Image, Converter={StaticResource ucconvertToImage}}"/>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>
                        <DataGridTextColumn Header="Name" MinWidth="250" Binding="{Binding Path=Name,Mode=TwoWay}" IsReadOnly="True"></DataGridTextColumn>
                        <DataGridCheckBoxColumn Header="Is Active" MinWidth="250" Binding="{Binding Path=IsActive}" IsReadOnly="True"></DataGridCheckBoxColumn>
                        <DataGridTemplateColumn Header="Update"  MinWidth="50" MaxWidth="50" SortMemberPath="EditMode" IsReadOnly="False">
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <Image Source="Icons/Update.jpg">
                                        </Image>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>
                    </DataGrid.Columns>
                </DataGrid>

如何在单击该行上的更新图标时,将数据网格属性设置为一行的编辑模式。

要设置
数据网格的编辑/只读模式(dgList),无需单击单元格:只需单击一个
ChecBox
(例如,命名为chkEdit)在
数据网格之外
添加事件句柄,如下所示:

chkEdit.Click+=()=>{dgList.IsReadOnly = !(bool)chkEdit.IsChecked; };

关于,

你的问题到底是什么?请把范围缩小到一个具体问题。感谢和问候,要求在网格的每一行上都有一个更新图标。那么它可能应该是dgList.IsReadOnly=false;以允许编辑。Rgds,
chkEdit.Click+=()=>{dgList.IsReadOnly = !(bool)chkEdit.IsChecked; };