1
如果用戶單擊疊加層,我希望ChildWindow
自動關閉並將用戶返回到主屏幕。Silverlight:單擊疊加層時關閉ChildWindow
是否有一個屬性來控制它?如果沒有,是否有辦法將點擊處理程序附加到覆蓋層?
如果用戶單擊疊加層,我希望ChildWindow
自動關閉並將用戶返回到主屏幕。Silverlight:單擊疊加層時關閉ChildWindow
是否有一個屬性來控制它?如果沒有,是否有辦法將點擊處理程序附加到覆蓋層?
原來,您可以在創建後立即獲取對疊加層的引用。之後,附加事件處理程序是一件簡單的事情。
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;
}
可能的重複:http://stackoverflow.com/questions/5728678/close-childwindows-in-silverlight-with-a-click-outside-of-it – Ekk