2011-09-27 38 views
0

我需要以編程方式對ToolTip進行一些更改。這聽起來很簡單。那麼,顯然不是真的。 :/將FrameworkElement.ToolTip強制轉換爲System.Windows.Controls.ToolTip時出現InvalidCastException

我有一個WindowsFormsHost對象上ToolTip和我提出以下投去的IsOpen屬性:與InvalidCastException運行期間

((System.Windows.Controls.ToolTip)host.ToolTip).IsOpen = true; 

此行失敗。

無法投射'System.String'類型的對象來鍵入 'System.Windows.Controls.ToolTip'。

我不明白爲什麼這是失敗的。我必須錯過一些非常簡單的事情,因爲這段代碼在this示例中顯然工作得很好。 @ _ @

回答

3

ToolTip並非偶然類型object而不是ToolTip。如果您在像這樣這樣的XAML中設置ToolTip,那麼您的工具提示的類型爲String。看看this。要修改您的工具提示,我建議不要直接在代碼中使用它,而應使用XAML和DataBinding的強大功能。如果您堅持使用代碼,請爲該屬性創建一個實際的工具提示。

+0

我希望我可以利用數據綁定,但在這種情況下,它不會工作。 :( 感謝你的回答! –

相關問題