Wpf DataGrid-基于文本内容将文本显示为链接

Wpf DataGrid-基于文本内容将文本显示为链接,wpf,datagrid,Wpf,Datagrid,我做了一些研究,但还没有找到解决问题的办法。 根据绑定文本属性的上下文,我必须将数据显示为普通文本或链接,这些链接应该可以单击并绑定到命令 我必须创建两个数据模板和一个模板选择器才能实现这个目标,还是有更简单的方法 我必须创建两个数据模板和一个模板选择器才能实现这个目标,还是有更简单的方法 对于每种类型的DataContext,您可以使用ContentControl和DataTemplate,例如: <ContentControl Content="{Binding}"> &

我做了一些研究,但还没有找到解决问题的办法。 根据绑定文本属性的上下文,我必须将数据显示为普通文本或链接,这些链接应该可以单击并绑定到命令

我必须创建两个数据模板和一个模板选择器才能实现这个目标,还是有更简单的方法

我必须创建两个数据模板和一个模板选择器才能实现这个目标,还是有更简单的方法

对于每种类型的
DataContext
,您可以使用
ContentControl
DataTemplate
,例如:

<ContentControl Content="{Binding}">
    <ContentControl.Resources>
        <DataTemplate DataType="{x:Type local:Type1}">
            <TextBlock>...</TextBlock>
        </DataTemplate>
        <DataTemplate DataType="{x:Type local:Type2}">
            <TextBlock>
                <Hyperlink NavigateUri="http://stackoverflow.com">Link...</Hyperlink>
            </TextBlock>
        </DataTemplate>
    </ContentControl.Resources>
</ContentControl>

...
链接

您建议使用两个数据模板是一种很好的方法,并且没有乍看起来那么复杂。当然,作为一种简单明了的方法,您可以为每个单元格创建两个文本版本,但使用
可见性
属性仅显示其中一个(对于小网格,开销不会太大)。