1

我有一个包含 2 个单元格的数据网格。一个是DataGridCheckBoxColumn,另一个是DataGridTextColumn。当 DataGridCheckBoxColumn 未选中时,我想清除 DataGridTextColumn 的内容。数据来自数据库,但用户可以编辑它。请告诉我该怎么做

<DataGrid Name="--" ItemsSource="{Binding Saukhtemauns}">
   <DataGrid.Columns>
    <DataGridCheckBoxColumn  Header="--"   Binding="{BindingShenaseDarad}">                                                                
    </DataGridCheckBoxColumn>

    <DataGridTextColumn Header="--"  Binding="{Binding IDTakhribi}"/>                                                                                                                                
</DataGrid.Columns>

4

1 回答 1

0

如果您分配为 DataGrid 源的类实现 INotifyPropertyChanged,您可以在视图模型端轻松执行此操作

内部 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,网格将跟随更改并更新 UI

于 2012-11-27T12:19:08.653 回答