wpf - 将工具提示添加到 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
解决方案
使用 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
,否则它将覆盖它。
推荐阅读
- kotlin - 无法使用 objectmapper 和 kotlin 序列化数据类中的数据类
- java - 如何使用Maven构建war并使用Jenkins部署到Tomcat服务器
- android - 使用 Google 的 Paging3 库时显示空状态
- android - 使用同一个 Google Play 控制台帐户分别发布两个具有两个 firebase 帐户的 android 项目会有什么问题吗?
- php - 从 Woocommerce 表格和电子邮件中删除“(含税)”
- vba - Excel 中的 VBA 宏 - 在 ID 为动态时使用 getElementById
- python - 无论我们使用什么程序语言,如何找到句子元素类型?
- reactjs - 在材质 ui 中加载自定义字体 Open Sans 及其变体(粗体、半粗体)
- jquery - Kendo JQuery Grid dataBound 事件未触发
- json - 使用几个变量插值从 bash 管道写入 json