2011-09-27 9 views
0

ToolTipをプログラムによっていくつか変更する必要があります。それは十分に簡単ですね。まあ、明らかに実際にはない。 :/FrameworkElement.ToolTipをSystem.Windows.Controls.ToolTipにキャストするときにInvalidCastExceptionが発生する

私はWindowsFormsHostオブジェクト上ToolTipを持っていると私はIsOpenプロパティに取得するには、次のキャストを行います。

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

この行はInvalidCastExceptionと実行時に失敗しました。

タイプ 'System.String'のオブジェクトをタイプ 'System.Windows.Controls.ToolTip'にキャストできません。

なぜこれが失敗するのか分かりません。私はこのコードが明らかにうまく動作するように、いくつかのものを紛失しているはずです。thisの例です。 @ _ @

答えて

3

ToolTipは、タイプobjectで、ToolTipではありません。このToolTip="Test"のようにXAMLにToolTipを設定すると、ツールヒントのタイプはStringになります。 thisをご覧ください。ツールチップを変更するには、コードで直接使用せず、代わりにXAMLとDataBindingの機能を使用することをお勧めします。あなたがコードでそれを行うと主張する場合は、プロパティの実際のヒントを作成します。

+0

私はデータバインディングを利用したいと思っていましたが、この状況では動作しません。 :(答えをありがとう! –

関連する問題