在WPF中,我有一個DataGridCell的引用並希望獲取其內容。我曾經有一個細胞在DataGridTextColumn,並可能在這樣的內容得到:DataGridTemplateColumn的單元格的WPF內容
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>
有沒有辦法仍然得到單元格內容(在我的情況下字符串)?
我發現了一個可用的解決方案在這個其他[問題] [1]這裏在stackoverflow。 [1]:http://stackoverflow.com/questions/7029324/grabbing-reference-to-element-inside-datagridtemplatecolumn –
在這種情況下許多過於複雜。你可以在'(_selectedCell.DataContext as *轉換爲Author *的父類)作者'中找到你的字符串。 – LPL