我有一个类(它将作为我的用户控件的基类),我希望能够通过后面的代码设置工具提示的绑定。我似乎无法弄清楚如何让它正常工作。我想通过从构造函数中调用函数“SetToolTip”来将绑定设置为名为“ToolTipText”的属性。
这是我到目前为止所拥有的:
Public MyBaseClass
Inherits UserControl
Private _ToolTipText As String = "This is the default text!!"
Public Property ToolTipText As String
Get
Return _ToolTipText
End Get
Set(value As String)
_ToolTipText = value
End Set
End Property
Private Sub SetToolTip()
Me.ToolTip = New ToolTip With {.MinHeight = 30, .MinWidth = 150, .FontSize = 16, .Foreground = Brushes.White}
Dim ToolTipBinding As Binding = New Binding
ToolTipBinding.Source = Me
ToolTipBinding.Path = New PropertyPath("ToolTipText")
ToolTipBinding.Mode = BindingMode.OneWay
ToolTipBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
BindingOperations.SetBinding(Me.ToolTip, ToolTipService.ToolTipProperty, ToolTipBinding)
End Sub
Public Sub New()
SetToolTip()
End Sub
End Class
但是,当我将鼠标悬停时,我只会得到一个空的工具提示(没有文本)。我使用 snoop(如果其他人熟悉该工具),它没有列出我的类的工具提示属性的任何绑定。但奇怪的是,如果我深入研究 tooltip 属性,我会发现 tooltip 有它自己的 tooltip 属性,该属性设置为正确的文本。似乎我需要以某种方式绑定到工具提示的内容,而不是它自己的工具提示属性。