2017-12-21 8 views
-1
private void gridView_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)                                                                                                                                                                 
    { 
     if (e.PropertyName == "code" && rdbCode.IsChecked == true) 
     { 
      e.Column.Header = "Acct Code"; 
     } 
     else if (e.PropertyName == "code" && rdbPart.IsChecked == true) 
     { 
      e.Column.MaxWidth = 0; 
     } 

     if (e.PropertyName == "um") 
     { 
      e.Column.MaxWidth = 0; 
     } 

     if (e.PropertyName == "part" && rdbPart.IsChecked == true) 
     { 
      e.Column.Header = "Part ID"; 
     } 
     else if (e.PropertyName == "part" && rdbCode.IsChecked == true) 
     { 
      e.Column.MaxWidth = 0; 
     } 

     if (e.PropertyName == "check") 
     { 
      CheckBox chk = new CheckBox(); 
      e.Column.Header = chk; 
      chk.Content = "Update All";         
     } 
    } 

私は列見出しに動的に作成されたチェックボックスを持つDatagridを持っています。ヘッダーの下の列全体をチェックしたり、チェックを外すことができるように、このチェックボックスをチェックされたイベントとチェックされていないイベントにリンクするにはどうすればいいですか?動的に作成されたチェックボックスをチェックされたイベントまたはチェックされていないイベントにリンクするにはどうすればよいですか?

+0

OnCheckedイベント(またはそれが呼び出される可能性のあるイベント)を購読し、グリッドを反復処理してそれに応じて処理する必要があります –

答えて

0
private void gridView_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)                                                                                                                                                                
    { 
     if (e.PropertyName == "code" && rdbCode.IsChecked == true) 
     { 
      e.Column.Header = "Acct Code"; 
     } 
     else if (e.PropertyName == "code" && rdbPart.IsChecked == true) 
     { 
      e.Column.MaxWidth = 0; 
     } 

     if (e.PropertyName == "um") 
     { 
      e.Column.MaxWidth = 0; 
     } 

     if (e.PropertyName == "part" && rdbPart.IsChecked == true) 
     { 
      e.Column.Header = "Part ID"; 
     } 
     else if (e.PropertyName == "part" && rdbCode.IsChecked == true) 
     { 
      e.Column.MaxWidth = 0; 
     } 

     if (e.PropertyName == "check") 
     { 
      CheckBox chk = new CheckBox(); 
      e.Column.Header = chk; 
      chk.Content = "Update All"; 
      chk.Checked += chk_Checked; 
      chk.Unchecked += chk_Unchecked; 
     } 
    } 

これは素晴らしいです。

関連する問題