行がビューモデルにバインドされているデータグリッドがあります。
最初の列には、行の itemno にバインドするイメージ コントロールがあります。これはうまくいきます。
ここで、この画像に、画像の拡大版を示すツールチップが必要です。とても簡単だと思いましたが、ツールチップはおそらく行のデータコンテキストを取得していないことに気付きました。
では、行がバインドされているのと同じデータにバインドするために、ツールチップを取得するにはどうすればよいでしょうか? 以下のコードでは、ツールチップの ItemNo は null ですが、「親」イメージ コントロールでは正しい値になっています。
<DataGridTemplateColumn Header="Image" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<controls:ItemImage Width="16" Height="16" DataContext="{Binding ItemNo, IsAsync=True}" >
<controls:ItemImage.ToolTip>
<StackPanel>
<controls:ItemImage Width="300" Height="300" DataContext="{Binding ItemNo, IsAsync=True}" />
<Label Content="{Binding ItemNo}" />
</StackPanel>
</controls:ItemImage.ToolTip>
</controls:ItemImage>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>