WPFでは、DataGridCellへの参照があり、その内容を取得したいと考えています。私はDataGridTextColumnでそのセルを持つために使用されると、このような内容では得ることができます:DataGridTemplateColumnのセルのWPFコンテンツ
var text = cell.Content as TextBlock;
しかし、私は、その列のためのDataTemplateとしてのTextBlockを指定しなかったが、細胞は、DataGridTemplateColumnであるので、これは働いて長くはありません。まだそれを得る方法はありますか?
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
私はしかし、ブロックはnullになりますので、コードは動作しませんTemplateColumnを使用している場合。
<DataGridTemplateColumn Header="Autor" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Name="txtAutor" Text="{Binding Author}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
まだセルの内容(私の場合は文字列)を取得する方法はありますか?
私はこの他の[質問] [1]ここで使用可能な解決策を見つけました。 [1]:http://stackoverflow.com/questions/7029324/grabbing-reference-to-element-inside-datagridtemplatecolumn –
この場合多くovercomplicated。文字列は '(Authorの*へのキャストとしての_selectedCell.DataContext *)で見つけることができます。 – LPL