我正在尝试做一些显然容易的事情,但我不知道为什么不起作用。
这很好用:
<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也不同。
为什么会这样?我做错了什么或不可能做到?是因为不同的datacontexts?如果不是这样,我该怎么做?
由于
答案 0 :(得分:0)
我找不到办法,所以我解决了以下问题。
<TextBox DataContext="{Binding ElementName=CORDONES_ESTATALESDomainDataSource, Path=Data}" Text="{Binding Path=DNA_A1}">
<ToolTipService.ToolTip>
<ToolTip Name="DNA_A1Tooltip" Content=""/>
</ToolTipService.ToolTip>
我将内容设置为“”,并为工具提示指定名称。然后在域数据源的currentChanged事件中,我将programaticaly的值分配给它的内容:
DNA_A1Tooltip.Content = TIPAJES_INTERMEDIOSDomainDataSource.DataView.CurrentItem.ALELOS_DNA_A1()
我知道这不是最优雅的解决方案,但它有效。