【发布时间】:2014-08-21 08:20:57
【问题描述】:
我有一个 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>
我想检查我是否点击了更新图标,首先检查它是否是更新列,然后将 isreadonly 设置为 true。 我使用以下代码来执行此操作,但是,我将发送方作为整个数据网格而不是单元格。
private void dgList_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
DataGridCell cell = sender as DataGridCell;
if (cell != null)
{
dgList.IsReadOnly = true;
}
}
如何将数据网格属性设置为某一行的编辑模式,点击该行上的更新图标。
【问题讨论】:
-
您的问题到底是什么?请缩小到具体问题。谢谢和问候,