我有一个绑定到集合的WPF DataGrid。我想通过复选框(行的第一列)为每行输入/离开EditMode。行被检查,行在EditMode ...行未选中,没有编辑模式。
我如何实现目标?
非常感谢
答案 0 :(得分:1)
正如你所说的那样,你的datagrid绑定到一个对象集合(其中包含一些属性的类),所以只需在你的类中创建一个可以像这样的属性..
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 ..因为没有它它将无法工作..希望你得到我想要的点...以下任何查询评论..