Wpf 基于DataGridCheckBoxColumn checkd或unchecked清除datagrid单元格的内容
我有一个有两个单元格的数据网格。一个是DataGridCheckBoxColumn,另一个是DataGridTextColumn。未选中DataGridCheckBoxColumn时,我想清除DataGridTextColumn的内容。数据正在从数据库提交,但用户可以编辑它。请告诉我如何执行此操作Wpf 基于DataGridCheckBoxColumn checkd或unchecked清除datagrid单元格的内容,wpf,datagrid,Wpf,Datagrid,我有一个有两个单元格的数据网格。一个是DataGridCheckBoxColumn,另一个是DataGridTextColumn。未选中DataGridCheckBoxColumn时,我想清除DataGridTextColumn的内容。数据正在从数据库提交,但用户可以编辑它。请告诉我如何执行此操作 <DataGrid Name="--" ItemsSource="{Binding Saukhtemauns}"> <DataGrid.Columns> <
<DataGrid Name="--" ItemsSource="{Binding Saukhtemauns}">
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="--" Binding="{BindingShenaseDarad}">
</DataGridCheckBoxColumn>
<DataGridTextColumn Header="--" Binding="{Binding IDTakhribi}"/>
</DataGrid.Columns>
如果指定给DataGrid作为源的类实现了INotifyPropertyChanged,则可以在视图模型端轻松完成此操作 Inside bool属性将设置文本属性更改为空
public string StrPropertyThatBindedToGridColumn
{
get{return _strProp;}
set{_strProp = value; OnPropertyChanged("StrPropertyThatBindedToGridColumn");}
}
public bool BoolPropertyThatBindedToGridColumn
{
get{return _bProp;}
set{
_bProp = value;
OnPropertyChanged("BoolPropertyThatBindedToGridColumn");
if(value)
StrPropertyThatBindedToGridColumn = null;
}
}
如果正确处理INotifyPropertyChanged,grid将跟随更改并更新UI是否有viewmodels?请展示一些代码,您是如何将数据源分配给datagrid的?我正在使用linq to sql。此datagrid datacontext连接到实体classit直接在UI中显示linq到sql生成的类不是好的做法,它应该包装在viewmodel中,但是作为一种解决方法,您可以使用自定义布尔属性创建分部类,将此类绑定到网格而不是第一个类,并在该属性集中将文本设置为空。我记得linq生成INotifyPropertyChanged,所以应该足够了