我正在尝试根据条件更改超链接的颜色和工具提示 以下是代码:
<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时,超链接颜色会变为灰色。 但我无法看到相同的工具提示。
注意:当DummyCommand.CanExecute(null)为false时, HasPermission = false。
DummyCommand是一个绑定到超链接的命令属性的命令。
答案 0 :(得分:0)
您是否尝试在不设置样式属性的情况下为真实案例添加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>
答案 1 :(得分:0)
我得到了答案。这可能会有所帮助
我在TooltipServive.ShowOnDisabled = true
之前使用了DataTrigger
。它工作正常
<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>