我不确定我的问题标题是否完全代表我的问题,我会尽力解释:
我有一个网格单元 DataTemplate:(网格属于第三方公司,但对我的问题并不重要)
<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>
我想让这个 DataTemplate 显示一些超链接(“Data.MapLink”是包含链接值的对象),每次点击这个链接都会触发命令“OpenLinkCommand”。
问题是“Data.MapLink”和“OpenLinkCommand”位于不同的dataContext中,然后我必须选择以下选项之一:
保留超链接 dataContext - 该命令将不起作用,超链接将获取 Data.MapLink 值。
将超链接 dataContext 更改为命令 datacontext - 该命令将起作用,但超链接名称将为空。
遗憾的是我没有选项将这些项目放在同一个 dataContext 中,所以我必须找到一种方法来告诉命令它的 dataContext 是“X”并告诉超链接它的 dataContext 是“Y”。
我希望我的问题很清楚我该如何解决这个问题?