Popupの外をクリックしたら閉じる方法

Silverlight で、表示した Popup の外をクリックされたときに、Popup を閉じる方法のメモ。

// Popup 外でマウスの左ボタンが押されたら閉じる
MouseButtonEventHandler handler = (sender, e) =>
{
    _popup.IsOpen = false;
};
Application.Current.RootVisual.MouseLeftButtonDown += handler;

popup.Closed += (sender, e) =>
{
    // 登録したイベントハンドラを削除
    Application.Current.RootVisual.MouseLeftButtonDown -= handler;
};

// Popup の開閉
_popup.IsOpen = !_popup.IsOpen;

簡単な DropDownMenu を自作するときに使える。