首页 > 解决方案 > 将工具提示添加到 VB.Net 中启用/禁用的图片控制?

问题描述

我需要有一个基于图像是否启用的工具提示。现在我只能让它在启用时使用静态工具提示。如果它被禁用,我怎样才能让它显示不同的工具提示?

<Button x:Name="Button" Width="21" Height="21" Padding="1,1,2,1" BorderThickness="0,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Center" Background="DarkGray">
    <Image Source="../../Images/report.png" Stretch="Fill" HorizontalAlignment="Center" Height="20" Width="20" Margin="0,0,0,0" />
</Button>
Public Sub SetButtonEnabled(ByVal arg_blnEnabled As Boolean)
    Dim tp As New System.Windows.Forms.ToolTip
    If arg_blnEnabled Then
        Me.IsEnabled = True
        Me.ToolTip = "Reports"
    Else
        Me.IsEnabled = False
        Me.ToolTip = "Please select a Transmittal"
    End If
End Sub

标签: wpfvb.netxaml

解决方案


使用 aStyle并在 XAML 中完成所有操作:

<Button x:Name="Button" Width="21" Height="21" Padding="1,1,2,1" BorderThickness="0,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Center" Background="DarkGray" ToolTipService.ShowOnDisabled="True">
    <Button.Style>
        <Style TargetType="Button">
            <Setter Property="ToolTip" Value="Reports"/>

            <Style.Triggers>
                <Trigger Property="IsEnabled" Value="False">
                    <Setter Property="ToolTip" Value="Please select a Transmittal"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Button.Style>

    <Image Source="../../Images/report.png" Stretch="Fill" HorizontalAlignment="Center" Height="20" Width="20" Margin="0,0,0,0" />
</Button>

注意:您必须删除现有的设置代码ToolTip,否则它将覆盖它。


推荐阅读