2013-05-17 3 views
2

내 소스 DataTable의 코드에서 많은 셀 단위 변경이 필요하므로 데이터 바인딩을 보내는 일시적 중단 방법이 필요합니다. 그 바운드에 대한 업데이트 DataGrid :WPF DataGrid - 데이터 바인딩에서 UI 업데이트를 일시 중단하고 나중에 대량 업데이트를 수행하는 방법

DataGrid은 코드가 DataTable이고 코드가 뒤에 있습니다.

DataGrid 바인딩 특성과 함께 XAML의 열을 정의하고있다 :

뒤에 내 그리드 (DataTable을) 데이터 소스를 지정로드시 코드에서
<DataGrid.Columns> 
      <DataGridTextColumn Header="{StaticResource str_Line}" Binding="{Binding Path=Pkey}" /> 

: 이제

myGrid.ItemsSource = myTable.DefaultView; 

인해 표시 데이터에 대한 사용자 지정 데이터 서식을 실행해야하는 경우 (대부분 다른 열의 값을 기반으로 일부 열을 비우고 일부 이미지를 전환해야 함)이 원본 테이블을 수동으로 업데이트하고 있습니다. 상대적으로 작으며 항상 20 개 미만의 행 . 나는 행 단위로, 셀 단위로 셀을 이동하고이 특정 셀이 숨겨진 값을 표시해야하는지 여부를 결정합니다.

UI 스레드가 각 셀에 별도의 업데이트 이벤트를 받고 싶지 않지만 바인딩을 전환 할 수있는 방법을 찾지 못했습니다.

Binding.UpdateSourceTrigger 속성을 찾았지 만 여전히 각 열에 대해 별도의 업데이트를 의미합니다.

답변

0

UpdateSourceTrigger를 Explicit으로 설정하십시오. 새로 고침하고 준비가되면 UpdateTarget을 호출 할 바인딩 식을 얻을 수 있습니다. BindingExpression을 참조하십시오.

+0

코드 또는 XAML의 열 바인딩에 해당 속성에 액세스하는 방법을 찾을 수 없습니다. – user1250290