Различные текстовые данные между текстовым полем и его всплывающей подсказкой в ​​Silverlight

Я пытаюсь сделать что-то легко, но я не знаю, почему не работает.

Это отлично работает:

<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 также отличается.

Почему это происходит? Я делаю что-то не так или это невозможно сделать? Это потому, что разные датаконтексты? Если это не так, как я могу это сделать?

Спасибо

1 ответ

Решение

Я не нашел способ сделать это работать, поэтому я решил следующим образом.

<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()

Я знаю, что это не самое элегантное решение, но оно работает.

Другие вопросы по тегам