2012-07-06 8 views
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가 있다는 것입니다.

왜 이런 일이 발생합니까? 내가 잘못한 일을하고 있거나 할 수없는 일입니까? 그것은 다른 datacontexts 때문입니까? 이것이 방법이 아니면 어떻게 할 수 있습니까?

감사

답변

0

나는 그것이 작동 할 수있는 방법을 찾지 못했습니다 그래서 나는 다음과 같은 방법을 해결했다.

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

나는 내용 ""로 설정하고 나는 툴팁 이름을 지정합니다.

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

내가 가장 우아한 해결책이 아니다 알고 있지만 작동 : 그런 다음 도메인 데이터 소스의 currentChanged 경우에 나는 programaticaly 값을 해당 내용을 지정합니다.