2010-03-25 66 views
0

當我從窗體打開新窗口時,我在我的WPF應用程序中有一個窗體窗體,用於將新窗體的所有者設置到我的打開窗口。但是,當我已經轉換的父窗口的用戶控制線用戶控制作爲所有者

objSearchCareGiver.Owner = this; 

給出錯誤

Cannot implicitly convert type 'MyNameSpace.ucUserControlto 'System.Windows.Window' 

任何人都可以解釋爲什麼會這樣呢?

+0

你能指定你得到什麼錯誤嗎?它會幫助人們給你更準確的答案。 – Ando 2010-03-25 05:51:31

+0

我添加了我的錯誤 – 2010-03-25 06:22:33

回答

0

您是否遇到運行時錯誤或編譯時錯誤?我猜你的錯誤是因爲Window.Owner屬性的類型是Window,並且用戶控件無效。即使用戶控件是Window的子類,也可能是用戶控件不能擁有子窗口。具體而言,如果您查看the documentation for the Window.Owner property,它會介紹建立父級和子級表單之間關係的屬性。這種關係主要是爲了傳播從父對象到子對象的視覺變化(例如,當父對象關閉時自動關閉子對象窗口,當父對象被最小化時最小化對象)。這些行爲對於用戶控件作爲父項來說並不合適。

+0

我有編譯時錯誤。 – 2010-03-25 06:00:31

+0

在這種情況下,雖然我不能確定,因爲你沒有發佈具體的錯誤,我假設用戶控件與'Window'類型不兼容。因此,您無法將用戶控件指定爲「Window」的所有者,因爲「Window.Owner」本身必須是「Window」。 – Dathan 2010-03-25 06:05:05

相關問題