2011-10-29 17 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; 
    } 
関連する問題