我不确定我的问题标题是否准确地表达了我的问题,我会尽力解释:
我有一个网格单元的数据模板:(该网格属于第三方公司,但对我的问题并不重要)
<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”位于不同的数据上下文中,因此我必须选择以下其中一个选项:
1. 保留超链接数据上下文 - 命令将不起作用,并且超链接将获取Data.MapLink值。 2. 将超链接数据上下文更改为命令数据上下文 - 命令将起作用,但超链接名称将为空。
遗憾的是,我没有将这些项目放在同一数据上下文中的选项,因此我必须找到一种方法告诉命令它的数据上下文是“X”,并告诉超链接它的数据上下文是“Y”。
我希望我的问题已经清楚。如何解决这个问题?