Wpf 当NavigateUri为空时不设置超链接

Wpf 当NavigateUri为空时不设置超链接,wpf,hyperlink,textblock,Wpf,Hyperlink,Textblock,我正在TextBlock中使用Hyperlink。我面临的问题是当NavigateUri为空时,我不想设置Hyperlink或使用默认样式,因此TextBlock和Hyperlink之间没有区别。如何做到这一点 我使用的代码是: <TextBlock TextWrapping="Wrap"> <Hyperlink NavigateUri="{Binding Path=Href}" RequestNavigate="Hyperlink_RequestNavigate">

我正在
TextBlock
中使用
Hyperlink
。我面临的问题是当
NavigateUri
为空时,我不想设置
Hyperlink
或使用默认样式,因此
TextBlock
Hyperlink
之间没有区别。如何做到这一点

我使用的代码是:

<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>

空值:

!空值:


我使用的解决方案是使用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>

空值:

!空值: