DataGridTemplateColumn과 함께 WPF DataGrid를 사용하고 있습니다. DataGridTemplateColumn.CellEditingTemplate에는 IsEditable이 'true'로 설정된 ComboBox가 포함되어 있습니다. 내 RowEditEnding 이벤트 처리기에서 해당 ComboBox의 Text 속성을 읽으려고합니다. 유일한 문제는 Text 속성을 가져 오기 위해 이벤트 처리기 내에서 ComboBox 인스턴스를 검색하는 방법을 모르는 것입니다.DataGrid : CellEditingTemplate에 정의 된 컨트롤에 액세스하는 방법
<!-- ... -->
<my:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox IsEditable="True" ItemsSource="{Binding Source={StaticResource ProductCategories}}" SelectedItem="{Binding Path=Name}" DisplayMemberPath="Name" />
</DataTemplate>
</my:DataGridTemplateColumn.CellEditingTemplate>
<!-- ... -->
그리고 내 코드 : 내가 e.Row를 사용하여 현재 영향을받는 행을 얻을 수 있다는 사실을 알고
private void productsDataGrid_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e)
{
// UH-OH! Where do I find the ComboBox instance?
}
... 아마 솔루션 참고로
, 여기 내 DataTemplate을의 e.Row를 사용하여 무언가를 포함합니까? 나는 ComboBox의 인스턴스를 찾기 위해 e.Row에서 시각적 트리를 반복적으로 보았지만 주사위는 사용하지 않았다. 솔루션이 간단하다는 점은 거의 긍정적입니다. 그러나 저는 WPF에 대해 일반적으로 새로운 것을 알았습니다. 제안 사항을 보내 주시면 감사하겠습니다.감사합니다.
해결책을 찾았습니까? – Shimmy