0

WPF では、DataGridCell への参照があり、その内容を取得したいと考えています。以前は DataGridTextColumn にそのセルがあり、次のようなコンテンツを取得できました。

var text = cell.Content as TextBlock;

しかし、セルが DataGridTemplateColumn にあるため、これは機能しなくなりましたが、その列の DataTemplate として TextBlock を指定しました。まだ手に入れる方法はありますか?

問題を明確にするために編集します。次のコードは意図したとおりに機能しています。

<!-- 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>

セルの内容 (私の場合は文字列) を取得する方法はありますか?

4

1 に答える 1

0

TextBlock内部にDataTemplate名前を付けてから、Textプロパティを使用してデータを取得できるはずです。

<DataTemplate>
    <TextBlock Name="txtData" Text="{Binding}" />
</DataTemplate>

var text = txtData.Text as string;
于 2011-07-27T15:25:11.853 に答える