我有一个类(它将作为我的用户控件的基类),我希望能够通过后面的代码设置工具提示的绑定。我似乎无法弄清楚如何使其正常工作。我想通过从构造函数中调用函数“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属性,该属性设置为正确的文本。我似乎需要绑定到工具提示的内容而不是它自己的tooltip属性。
答案 0 :(得分:0)
所以我只想出来了。设置绑定的行应为:
BindingOperations.SetBinding(Me.ToolTip, ContentControl.ContentProperty, ToolTipBinding)
我想起来有点奇怪,但在我设置工具提示的工具提示之前。