我有一个绑定到集合的WPF DataGrid。我想为每一行(该行的第一列)输入/离开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。。因为没有它是行不通的希望你明白我想说的话。。对于下面的任何查询注释。。