【问题标题】:Does it make sense to set Owner for Dialog window为对话框窗口设置所有者是否有意义
【发布时间】:2013-02-19 18:46:00
【问题描述】:

如果我将 Owner 设置为 Window 并以非对话框模式显示它,我会得到两件事: 1. 子窗口总是在父窗口的顶部(同时仍然可以访问父窗口) 2. 如果我关闭父窗口,子窗口也会关闭

在对话窗口的情况下,这两点都没有意义: 1. 子窗口独立于 Owner 属性位于父窗口之上 2.你没有机会关闭父窗口

所以我是对的,将 Owner 属性设置为 Dialog 窗口是没有意义的,或者可能有一些论据?

【问题讨论】:

    标签: .net wpf


    【解决方案1】:

    正如the documentation 指出的原因:

    通过调用 ShowDialog 打开子窗口时,还应设置子窗口的 Owner 属性。如果您不这样做,那么您的用户将无法通过按任务栏按钮来恢复子窗口和父窗口。相反,按下任务栏按钮将产生一个窗口列表,包括子窗口和父窗口,供他们选择;仅恢复选定的窗口。

    您还应该在通过调用 ShowDialog 打开的窗口上设置 Owner 属性,以确保 UI 自动化的正确行为。

    【讨论】:

      【解决方案2】:

      除了 H.B.说,

      在显示之前设置窗口的所有者很重要,因为 否则在焦点窗口或模态窗口所在的位置可能会出现奇怪的错误 隐藏在其他窗户后面。为了防止此类错误,您设置 当前窗口的所有者属性。

      Mark Seemann,.NET 中的依赖注入

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-11
        • 2021-08-25
        • 2011-02-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多