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>

これは何も示していません。domaindatasourceも異なるため、唯一の変更点はツールチップのDataContextが異なることです。

なぜこうなった?私は何か間違ったことをしていますか、それとも不可能ですか?データコンテキストが異なるためですか?これが方法でない場合、どうすればこれを行うことができますか?

ありがとう

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 に答える