用户在弹出窗口外单击时关闭弹出窗口

时间:2014-03-24 06:16:36

标签: silverlight silverlight-5.0

我正在使用silvelight弹出窗口控件。当用户点击按钮时,我会打开一个弹出窗口。我想在用户点击弹出窗口之外时关闭弹出窗口。

请让我知道我们该怎么做。

1 个答案:

答案 0 :(得分:1)

注册MouseLeftButtonDownEventHandler,如果您希望SL应用程序的根元素有MouseRightButtonDownEventHandler。从那里关闭PopUp。您希望处理其他元素已处理的事件(例如,当用户单击弹出窗口外的文本框时)。

...
var root = System.Windows.Application.Current.RootVisual;
MouseButtonEventHandler handler = HandleRootMouseLeftButtonDown;
root.AddHandler(UIElement.MouseLeftButtonDownEvent, handler, true);
...
private void HandleRootMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    m_popup.IsOpen = false;
}