如何根据条件更改超链接工具提示



我正在尝试根据条件更改超链接的颜色和工具提示。
以下是代码:

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

最新更新