共用方式為


Window.Owner 屬性

定義

取得或設定 Window 擁有此物 Window的 。

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

屬性值

一個 Window 代表此 Window擁有者的物件。

屬性

例外狀況

窗口嘗試自行擁有

-或-

兩個窗口嘗試彼此擁有。

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 開啟的視窗上,以確保擁有的視窗行為正確。

注意

當視窗載入在瀏覽器中時,您無法設定或取得這個屬性。

適用於

另請參閱