我正在使用silvelight弹出窗口控件。当用户点击按钮时,我会打开一个弹出窗口。我想在用户点击弹出窗口之外时关闭弹出窗口。
请让我知道我们该怎么做。
答案 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;
}