DataGridTextColumn에서 DataGrid 셀의 바인딩 식에 액세스해야합니다. 예를 들어 :WPF DataGrid : 셀 바인딩 표현식을 얻는 방법?
var cell = dataGrid.GetCellCtrl<TextBlock>(dataGrid.CurrentCell);
그리고 세포가 올 것 같다 :
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
나는 셀과 관련된 TextBlock을 얻을 수 있었다. 전화 할 수 있습니다
cell.SetValue(TextBlock.TextProperty, value);
셀 텍스트를 업데이트하려면 다음을 수행하십시오. 그리드에서 작동하는 것 같습니다 (숫자가 업데이트 됨). 그러나 잠시 후 깨닫게되면 소스가 업데이트되지 않습니다. UpdateSourceTrigger를 PropertyChange로 설정하더라도 도움이되지 않습니다. 그런 다음 바인딩 식을 가져와 UpdateSource를 명시 적으로 호출해야한다고 생각했습니다.
var bindingExpr = cell.GetBindingExpression(TextBlock.TextProperty);
하지만 bindingExpr은 항상 null입니다. 왜?
편집 : 내가 가진 원래의 문제는 셀의 바인딩 TextBlock에 도달하여 TextBlock.TextProperty를 설정할 수 있다는 것입니다. 그러나 소스가 업데이트되지 않습니다. 이것은 내가이 문제를 해결하기 위해 노력하고있는 것입니다.
안녕하세요, 문제를 해결하셨습니까? –
열의 SortMemberPath에는 기본적으로 바인딩 경로 (바인딩 된 속성별로 정렬 할 수 있도록하는 기본 속성 값)가 포함됩니다. 바인딩 경로를 가져 오는 신뢰할 수없고 의도 된 방법은 아니며 여러 바인딩이나 수동으로 SortMemberPath가 작동하지 않습니다 세트. – kiran