在 WPF 中,我引用了 DataGridCell 并希望获取其内容。我曾经将该单元格放在 DataGridTextColumn 中,并且可以像这样获取内容:
var text = cell.Content as TextBlock;
但这不再有效,因为单元格位于 DataGridTemplateColumn 中,尽管我确实将 TextBlock 指定为该列的 DataTemplate。还有办法解决吗?
编辑以澄清问题。以下代码按预期工作:
<!-- 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,则代码将不起作用,因为 block 将为空。
<DataGridTemplateColumn Header="Autor" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Name="txtAutor" Text="{Binding Author}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
有没有办法仍然可以获取单元格内容(在我的情况下是一个字符串)?