我在TextBlock中使用TextBlock。我面临的问题是,当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。
发布于 2016-05-16 12:40:14
我使用的解决方案是使用DataTrigger检查Href值,如果等于空,则设置相关属性以模仿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>空值:

!空值:

https://stackoverflow.com/questions/37252768
复制相似问题