我有一个绑定到集合的 WPF DataGrid。我想使用复选框(行的第一列)为每一行输入/离开 EditMode。行已选中,行处于 EditMode ...行未选中,无编辑模式。
我怎样才能实现我的目标?
非常感谢
正如您所说,您将数据网格绑定到对象集合(其中包含一些属性的类),因此只需像这样在您的类中创建一个可编辑的属性..
private bool _isEdiatble;
public bool IsEdiatble
{
get
{
return _isEdiatble;
}
set
{
_isEdiatble = value;
// FirePropertyChanged("Name");
}
}
并将其绑定到您的每一行元素,如下所示..
<DataGrid.Columns>
<DataGridTemplateColumn >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBox Text="{Binding text}" Grid.Column="0" IsReadOnly="{Binding IsEditable}" />
<CheckBox Grid.Column="1" IsChecked="{Binding IsEditable,mode=twoway , UpdateSourceTriggered = PropertyChanged }" />
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
还要确保你已经在你的类中实现了 INotifyPropertyChanged ..因为没有它它就无法工作..希望你明白我想要表达的意思..对于下面的任何查询评论..