我需要以编程方式对ToolTip
进行一些更改。这听起来很简单。好吧,显然不是真的。 :/
我在ToolTip
对象上有一个WindowsFormsHost
,我进行了以下转换以转到IsOpen
属性:
((System.Windows.Controls.ToolTip)host.ToolTip).IsOpen = true;
此行在运行时期间因InvalidCastException
而失败。
无法将“System.String”类型的对象强制转换为类型 'System.Windows.Controls.ToolTip'。
我不明白为什么会失败。我必须遗漏一些非常简单的事情,因为这段代码显然在this示例中工作得很好。 @ _ @
答案 0 :(得分:3)
ToolTip
不是偶然的object
类型,而不是ToolTip
。如果您在XAML中设置ToolTip
,就像这样ToolTip="Test"
,那么您的工具提示是String类型。看看this。要修改工具提示,我建议不要直接在代码中使用它,而是使用XAML和DataBinding的强大功能。如果您坚持在代码中执行此操作,请为该属性创建一个实际的工具提示。