Window.Owner 屬性

定義

取得或設定主控這個 WindowWindow

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

屬性值

表示主控這個 WindowWindow 物件。

屬性

例外狀況

有個視窗嘗試主控它自己

-或-

兩個視窗嘗試主控對方。

Owner 屬性是設定在使用 ShowDialog() 顯示的可見視窗上。

-或-

Owner 屬性是設定為先前未顯示過的視窗。

範例

下列範例示範如何建立擁有者/擁有的關聯性。

// 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 開啟的擁有視窗不是強制回應。 使用者仍然可以與擁有者視窗互動。

  • 如果您關閉擁有者視窗,其擁有的視窗也會關閉。

  • 如果使用 的擁有者視窗 Show 開啟擁有視窗,且擁有者視窗已關閉,則不會引發擁有的視窗 Closing 事件。

當您呼叫 ShowDialog 來開啟子視窗時,也應該設定 Owner 子視窗的 屬性。 如果您不這麼做,則使用者將無法按下工作列按鈕來還原子視窗和父視窗。 相反地,按下工作列按鈕會產生一份視窗清單,包括子視窗和父視窗,以供他們選取;只會還原選取的視窗。

重要

您也應該在開啟的視窗上設定 Owner 屬性,方法是呼叫 ShowDialog 以確保使用 正確行為。

注意

當視窗裝載于瀏覽器中時,您無法設定或取得此屬性。

適用於

另請參閱