Window.Owner 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
public:
property System::Windows::Window ^ Owner { System::Windows::Window ^ get(); void set(System::Windows::Window ^ value); };
public System.Windows.Window Owner { [System.Security.SecurityCritical] get; [System.Security.SecurityCritical] set; }
public System.Windows.Window Owner { get; set; }
[<get: System.Security.SecurityCritical>]
[<set: System.Security.SecurityCritical>]
member this.Owner : System.Windows.Window with get, set
member this.Owner : System.Windows.Window with get, set
Public Property Owner As Window
属性值
- 属性
例外
示例
以下示例演示如何建立所有者/拥有的关系。
// Create a window and make this window its owner
Window ownedWindow = new Window();
ownedWindow.Owner = this;
ownedWindow.Show();
' Create a window and make this window its owner
Dim ownedWindow As New Window()
ownedWindow.Owner = Me
ownedWindow.Show()
注解
当父窗口通过调用 ShowDialog打开子窗口时,会在父窗口和子窗口之间建立隐式关系。 此关系强制实施某些行为,包括最小化、最大化和还原。
但是,当父窗口通过调用 Show创建子窗口时,子窗口与父窗口没有关系。 这意味着:
子窗口没有对父窗口的引用。
子窗口的行为不依赖于父窗口的行为:任一窗口都可以覆盖另一个窗口,也可以独立于另一个窗口进行最小化、最大化和还原。
若要允许在子窗口和父窗口之间创建关系,Window 支持所有权的概念。 当窗口(拥有的窗口)的 Owner 属性设置为对另一个窗口(所有者窗口)的引用时,将建立所有权。
建立此关系后,将展示以下行为:
如果所有者窗口最小化,则所有拥有的窗口也会最小化。
如果已拥有的窗口最小化,则其所有者不会最小化。
如果所有者窗口最大化,则还原所有者窗口和其拥有的窗口。
所有者窗口永远不能覆盖拥有的窗口。
未使用 ShowDialog 打开的自有窗口不是模式窗口。 用户仍然可以与所有者窗互。
如果关闭所有者窗口,则其拥有的窗口也会关闭。
通过调用 ShowDialog打开子窗口时,还应设置子窗口的 Owner 属性。 如果没有,则用户将无法通过按任务栏按钮还原子窗口和父窗口。 相反,按任务栏按钮将生成一个窗口列表,包括子窗口和父窗口,供他们选择;仅还原所选窗口。
重要
还应通过调用 ShowDialog 在打开的窗口中设置 Owner 属性,以确保使用拥有的窗口正确行为。
注意
在浏览器中托管窗口时,无法设置或获取此属性。