Silverlight:单击Overlay时关闭ChildWindow

时间:2011-10-29 17:59:15

标签: silverlight

如果用户点击叠加层,我希望ChildWindow自动关闭并将用户返回到主屏幕。

是否有可控制此属性的属性?如果没有,有没有办法将点击处理程序附加到叠加层?

1 个答案:

答案 0 :(得分: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;
    }