【问题标题】:How do I get the datacontext of the grid-row如何获取网格行的数据上下文
【发布时间】:2013-02-20 23:53:01
【问题描述】:

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

在我的第一列中,我有一个图像控件,它绑定到行中的 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>

【问题讨论】:

    标签: wpf data-binding datacontext


    【解决方案1】:

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

    &lt;controls:ItemImage Width="300" Height="300" DataContext="{Binding ItemNo, IsAsync=True}" /&gt;
    ...不起作用。

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

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

    【讨论】:

      猜你喜欢
      • 2011-11-17
      • 2013-05-25
      • 2011-03-12
      • 1970-01-01
      • 2012-09-27
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多