2011-10-29 1 views
1

사용자가 오버레이를 클릭하면 ChildWindow이 자동으로 닫히고 사용자를 기본 화면으로 되돌리려합니다.Silverlight : 오버레이를 클릭 할 때 ChildWindow 닫기

이것을 제어하는 ​​속성이 있습니까? 그렇지 않은 경우 오버레이에 클릭 핸들러를 연결하는 방법이 있습니까?

+2

가능한 중복 : http://stackoverflow.com/questions/5728678/close-childwindows-in-silverlight-with-a-click-outside-of-it – Ekk

답변

4

오버레이가 생성 된 직후에 참조를 얻을 수 있습니다. 그 후에는 이벤트 핸들러를 첨부하는 간단한 작업입니다.

private void Overlay_MouseButtonDown(object sender, MouseButtonEventArgs e) 
    { 
     this.Close(); 
    } 

    public override void OnApplyTemplate() 
    { 
     base.OnApplyTemplate(); 
     var overlay = (Grid)GetTemplateChild("Overlay"); 
     overlay.MouseLeftButtonDown += Overlay_MouseButtonDown; 
     overlay.MouseRightButtonDown += Overlay_MouseButtonDown; 
    } 
관련 문제