NavigateUri 为 null 时不设置超链接
not to set Hyperlink when NavigateUri is null
我在 TextBlock
中使用 Hyperlink
。我面临的问题是当 NavigateUri
为 null 时,我不想设置 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>
空值:
!空值:
我在 TextBlock
中使用 Hyperlink
。我面临的问题是当 NavigateUri
为 null 时,我不想设置 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>
空值:
!空值: