WPF에서 DataGridCell에 대한 참조가 있으며 그 내용을 가져오고 싶습니다. 내가 DataGridTextColumn에 해당 셀을 가지고 사용하고이 같은 내용에서 얻을 수 :DataGridTemplateColumn 셀의 WPF 내용
var text = cell.Content as TextBlock;
을하지만 세포는 DataGridTemplateColumn에 있기 때문에 내가 그 컬럼에 대한 DataTemplate을 같이하는 TextBlock을 지정 않았지만이 작동하지 않는 이상 . 거기에 도달 할 수있는 방법이 아직 남아 있습니까?
EDIT를 사용하여 문제를 명확히합니다. 다음 코드는 의도 한대로 작동하고 있습니다 :
<!-- XAML -->
<DataGridTextColumn Header="Autor" Width="*" Binding="{Binding Author}" />
//C#
var block = _selectedCell.Content as TextBlock;
var text = block.Text; //text contains the string that is also displayed by the grid in that call
그러나 TemplateColumn을 사용하면 블록이 null이되기 때문에 코드가 작동하지 않습니다.
<DataGridTemplateColumn Header="Autor" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Name="txtAutor" Text="{Binding Author}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
여전히 셀 내용 (내 경우에는 문자열)을 얻을 수있는 방법이 있습니까?
나는이 다른 [질문] [1] 여기서 stackoverflow에 사용할 수있는 해결책을 찾았습니다. [1] : http://stackoverflow.com/questions/7029324/grabbing-reference-to-element-inside-datagridtemplatecolumn –
는 대부분이 경우 overcomplicated. 문자열은'(Author의 * cast로 * _selectedCell.DataContext *)에서 찾을 수 있습니다. Author'. – LPL