NavigateUri 为 null 时不设置超链接

not to set Hyperlink when NavigateUri is null

我在 TextBlock 中使用 Hyperlink。我面临的问题是当 NavigateUri 为 null 时,我不想设置 Hyperlink 或使用默认样式,因此 TextBlockHyperlink 之间没有区别.这该怎么做?

我使用的代码是这样的:

<TextBlock TextWrapping="Wrap">
  <Hyperlink NavigateUri="{Binding Path=Href}" RequestNavigate="Hyperlink_RequestNavigate">
    <Run Text="{Binding Path=Body}"/>
  </Hyperlink>
</TextBlock>  

有时 Href 为空。到时候不用设置NavigateUri.

我使用的解决方案是使用DataTrigger检测Href值,如果等于Null,则设置相关属性模仿TextBlock的样式

<Style TargetType="{x:Type Hyperlink}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=Href}" Value="{x:Null}">
                    <Setter Property="Foreground" Value="Black" />
                    <Setter Property="TextBlock.TextDecorations" Value="{x:Null}" />
                    <Setter Property="Cursor" Value="Arrow" />
                </DataTrigger>
            </Style.Triggers>

        </Style>

空值:

!空值: