, 나는 설명하기 위해 최선을 다할 것입니다 (그리드 타사 회사에 속해 하지만여러 데이터 컨텍스트 MVVM 나는 내 질문에 헤더가 정확히 내 문제를 나타낼 경우 확실하지 오전
<DataTemplate>
<TextBlock>
<Hyperlink Command="{Binding OpenLinkCommand}">
<Hyperlink.ToolTip>
<TextBlock Text="{Binding Data.MapLink}"/>
</Hyperlink.ToolTip>
<TextBlock Text="{Binding Data.MapLink}" TextDecorations="underline">
</Hyperlink>
</TextBlock>
</DataTemplate>
좀 하이퍼 링크 ("Data.MapLink"를 표시하려면이 DataTemplate을 만들 원하는 링크 값을 포함하는 객체)와 화재 것이 링크를 클릭 할 때마다입니다) 내 질문에 대한 그것은`중요하지 명령 "OpenLinkCommand".
문제는 "Data.MapLink가"와 "OpenLinkCommand"서로 다른 데이터 컨텍스트에있는 것입니다 후 나는 다음 선택 사항 중 하나를 선택해야합니다 : 그것은 같은
휴가 하이퍼 링크 데이터 컨텍스트를 - 명령 원 하이퍼 링크는 Data.MapLink 값을 가져옵니다.
datacontext 명령으로 하이퍼 링크 dataContext 변경 - 명령이 작동하지만 하이퍼 링크 이름이 비어 있습니다.
제 질문이 분명하기를 바랍니다. 어떻게이 문제를 해결할 수 있습니까?
두 번째 datacontext는 어디서 오는가? 요소에 datacontext 요소를 바인딩하고 상대 소스를 설정하기 만하면 요소에 바인딩됩니까? 뷰 모델에서 두 datacontext에 대한 액세스 권한이있는 경우 (뷰 모델을 사용한다고 가정) 다른 명령을 가져올 수 있습니다. – TYY
바인딩에서 RelativeSource를 사용하여 올바른 datacontext를 찾으십시오. – blindmeis
방금 Microsoft에 버그를보고했습니다 (https://connect.microsoft.com/VisualStudio/feedback/details/1398835/binding-of-readonly-dependencyproperty). –