2

我有一个 Datagrid,其中的行绑定到视图模型。

在我的第一列中,我有一个图像控件,它绑定到行中的 itemno。这工作正常。

现在,我想要在这张图片上显示一个更大版本的图片的工具提示。我认为这很容易,但我已经意识到,工具提示可能没有获得该行的数据上下文。

那么,如何获取工具提示,以绑定到与行绑定的相同数据?在我下面的代码中,工具提示上的 ItemNo 为空,但在“父”图像控件上,它具有正确的值。

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

1 回答 1

3

默认情况下,您的工具提示 dataContext 已设置为 ItemNo;这就是为什么将其重置为:

<controls:ItemImage Width="300" Height="300" DataContext="{Binding ItemNo, IsAsync=True}" />
...不起作用。

只需删除DataContext="{Binding ItemNo, IsAsync=True}"

使用snoop它将帮助您解决 viewwing 绑定错误或已设置的 dataContext。

于 2013-03-06T10:08:25.100 回答