Dans WPF, j'ai la référence à un DataGridCell et souhaite obtenir son contenu. Je l'habitude d'avoir cette cellule dans un DataGridTextColumn et pourrait obtenir au contenu comme celui-ci:Contenu WPF de la cellule de DataGridTemplateColumn
var text = cell.Content as TextBlock;
Mais cela ne fonctionne pas plus puisque la cellule est dans un DataGridTemplateColumn, bien que je ne précise TextBlock comme DataTemplate pour cette colonne . Y a-t-il encore un moyen d'y arriver?
EDIT pour clarifier le problème. Le code suivant fonctionne comme prévu:
<!-- 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
Si j'utilise cependant un TemplateColumn le code ne fonctionnera pas parce que le bloc sera nulle. Y at-il un moyen d'obtenir toujours au contenu des cellules (une chaîne dans mon cas)?
J'ai trouvé une solution utilisable dans cette autre [question] [1] ici sur stackoverflow. [1]: http://stackoverflow.com/questions/7029324/grabbing-reference-to-element-inside-datagridtemplatecolumn –
Beaucoup trop compliqué dans ce cas. Vous pouvez trouver votre chaîne dans '(_selectedCell.DataContext en tant que * cast au parent de Author *). Author'. – LPL