2011-09-27 3 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

나는 데이터 바인딩을 이용할 수 있기를 바랐다. 그러나이 상황에서는 작동하지 않을 것이다. :(답변 해주셔서 감사합니다! –

관련 문제