1

2つのセルを持つデータグリッドがあります。1つはDataGridCheckBoxColumnで、もう1つは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 に答える