Wpf 基于DataGridCheckBoxColumn checkd或unchecked清除datagrid单元格的内容

Wpf 基于DataGridCheckBoxColumn checkd或unchecked清除datagrid单元格的内容,wpf,datagrid,Wpf,Datagrid,我有一个有两个单元格的数据网格。一个是DataGridCheckBoxColumn,另一个是DataGridTextColumn。未选中DataGridCheckBoxColumn时,我想清除DataGridTextColumn的内容。数据正在从数据库提交,但用户可以编辑它。请告诉我如何执行此操作 <DataGrid Name="--" ItemsSource="{Binding Saukhtemauns}"> <DataGrid.Columns> <

我有一个有两个单元格的数据网格。一个是DataGridCheckBoxColumn,另一个是DataGridTextColumn。未选中DataGridCheckBoxColumn时,我想清除DataGridTextColumn的内容。数据正在从数据库提交,但用户可以编辑它。请告诉我如何执行此操作

<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,所以应该足够了