Различные текстовые данные между текстовым полем и его всплывающей подсказкой в 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()
Я знаю, что это не самое элегантное решение, но оно работает.