0

我正在尝试做一些看似简单的事情,但我不知道为什么不起作用。

这工作正常:

<TextBox DataContext="{Binding ElementName=CORDONES_ESTATALESDomainDataSource, Path=Data}" Text="{Binding Path=DNA_A1}">
    <ToolTipService.ToolTip>
        <ToolTip Content="{Binding Path=DNA_A1}"/>
    </ToolTipService.ToolTip>
</TextBox>

我在工具提示中显示的内容与在文本框中显示的内容相同。相反:

<TextBox DataContext="{Binding ElementName=CORDONES_ESTATALESDomainDataSource, Path=Data}" Text="{Binding Path=DNA_A1}">
    <ToolTipService.ToolTip>
        <ToolTip DataContext="{Binding ElementName=TIPAJES_INTERMEDIOSDomainDataSource, Path=Data}" Content="{Binding Path=ALELOS_DNA_A2}"/>
    </ToolTipService.ToolTip>
</TextBox>

这说明什么。请注意,唯一的变化是工具提示具有不同的 DataContext,因为 domaindatasource 也不同。

为什么会这样?我做错了什么还是不可能做的?是因为不同的数据上下文吗?如果这不是方法,我该怎么做?

谢谢

4

1 回答 1

0

我没有找到办法让它工作,所以我解决了以下方法。

<TextBox DataContext="{Binding ElementName=CORDONES_ESTATALESDomainDataSource, Path=Data}" Text="{Binding Path=DNA_A1}">
<ToolTipService.ToolTip>
    <ToolTip Name="DNA_A1Tooltip" Content=""/>
</ToolTipService.ToolTip>

我将内容设置为“”,并为工具提示指定了一个名称。然后在域数据源的 currentChanged 事件中,我以编程方式为其内容赋值:

DNA_A1Tooltip.Content = TIPAJES_INTERMEDIOSDomainDataSource.DataView.CurrentItem.ALELOS_DNA_A1()

我知道这不是最优雅的解决方案,但它确实有效。

于 2012-07-07T08:40:41.380 回答