我正在尝试根据条件更改超链接的颜色和工具提示。
以下是代码:
<Hyperlink x:Name="HyperLink"
TextDecorations="UnderLine"
FontSize="12"
FontWeight="SemiBold"
Command="{Binding Path=DummyCommand}" >
<Run Text="{Binding Path=HyperLinkText}"/>
<Hyperlink.Style>
<Style TargetType="Hyperlink">
<Setter Property="Foreground" Value="Blue"/>
<Setter Property="ToolTip" Value="Has Access"/>
<Style.Triggers>
<DataTrigger Binding="{Binding HasPermission}" Value="False">
<Setter Property="Foreground" Value="Gray"/>
<Setter Property="ToolTip" Value="No Access"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Hyperlink.Style>
</Hyperlink>
当haspermission变为false时,超链接颜色会更改为灰色。,但我看不到相同的工具提示。
注意: haspermission = false dummycommand.canexecute(null)为false。
DummyCommand是一个命令,它义务命令超链接的属性。
您是否尝试在不设置样式的属性的情况下为真实情况添加DataTrigger?
<Hyperlink.Style>
<Style TargetType="Hyperlink">
<Style.Triggers>
<DataTrigger Binding="{Binding HasPermission}" Value="True">
<Setter Property="Foreground" Value="Blue"/>
<Setter Property="ToolTip" Value="Has Access"/>
<DataTrigger Binding="{Binding HasPermission}" Value="False">
<Setter Property="Foreground" Value="Gray"/>
<Setter Property="ToolTip" Value="No Access"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Hyperlink.Style>
我得到了答案。这可能会有所帮助。
我在DataTrigger
之前使用了TooltipServive.ShowOnDisabled = true
。它可以正常工作
<Hyperlink.Style>
<Style TargetType="Hyperlink">
<Setter Property="Foreground" Value="Blue"/>
<Setter Property="ToolTip" Value="Has Access"/>
Added line---->
<Setter Property="ToolTipService.ShowOnDisabled" Value="True"/>
<Style.Triggers>
<DataTrigger Binding="{Binding HasPermission}" Value="False">
<Setter Property="Foreground" Value="Gray"/>
<Setter Property="ToolTip" Value="No Access"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Hyperlink.Style>