2009-07-01 5 views
6

툴팁이 열릴 때 상태 표시 줄 안의 내 wpf 앱에있는 컨트롤의 툴팁 텍스트를 보여주고 싶습니다."가로 채기"어떤 툴팁이라도 열려 있음.

물론 메인 윈도우의 모든 하위 컨트롤을 반복적으로 순환하려고 할 수 있으며 이벤트는 항상이벤트를 동일한 방법으로 설정합니다. 그러나 쉬운 방법이 있습니까?

Application.Current.AnyToolTipOpening과 같은 이벤트입니까?

답변

9

물론,이 시도 : FrameworkElement에서 파생하는 모든 클래스에 대한 핸들러를 등록

EventManager.RegisterClassHandler(typeof(FrameworkElement), FrameworkElement.ToolTipOpeningEvent, new ToolTipEventHandler(ToolTipHandler)); 

합니다.

핸들러 방법은 다음과 같습니다 일

private void ToolTipHandler(object sender, ToolTipEventArgs e) { 
     // To stop the tooltip from appearing, mark the event as handled 
     e.Handled = true; 
     FrameworkElement source = e.Source as FrameworkElement; 
     if (source != null) { 
      MessageBox.Show(source.ToolTip.ToString()); // or whatever you like 
     } 
    } 
1

감사합니다. 또한 마우스가 툴팁을 사용하여 컨트롤을 벗어날 때 상태 표시 줄 텍스트가 사라지도록하려면 :

EventManager.RegisterClassHandler(typeof(FrameworkElement), 
        MouseLeaveEvent, new MouseEventHandler(ClearText)); 
관련 문제