2017-12-20 21 views
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; 
     } 
    } 

XAML이 포함 된 Datagrid 헤더에 확인란을 추가 할 수 있지만 AutoGeneratingColumn 이벤트 중에 C#을 추가 할 수 있습니까? 나는 다른 검색을 위해 동일한 Datagrid를 사용하고 서로 다른 목록으로 그리드를 동적으로 채 웁니다. 데이터가 추가 될 때 이미 포맷 된 대신 "모두 체크"체크 박스를 헤더에 추가 할 수 있어야합니다.XAML 대신 C#으로 동적으로 Datagrid 헤더에 확인란을 추가 하시겠습니까?

답변

3

은 아마 다음과 같이 수행 할 수 있습니다

private void DataGrid_OnAutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) 
{ 
    if (e.PropertyName == "Name") 
    { 
     e.Column.Header = new CheckBox { Content = "Check all" }; 
    } 
} 

그 결과 일반적으로

The result

, 우리는 XAML에서 할 수있는 모든, 또한 코드

에서 할 수 있습니다
+0

이것은 내 질문에 완벽하게 답변했으며 정확하게 내가 찾고있는 것이 었습니다. – Ian