用户控制作为所有者

时间:2010-03-25 05:45:17

标签: c# wpf

当我从我的表单中打开新窗口时,我的WPF应用程序中有窗口表单我曾经将新窗口的所有者设置为我的打开窗口。但是当我将父窗口转换为用户控制行

objSearchCareGiver.Owner = this;

给出错误

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

任何人都能解释为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

您是否收到运行时错误或编译时错误?我猜你的错误是因为Window.Owner属性的类型为Window而用户控件无效。即使用户控件是Window的子类,也可能是用户控件不能拥有子窗口。具体来说,如果您查看the documentation for the Window.Owner property,它会讨论在父表单和子表单之间建立关系的属性。这种关系主要与从父母到孩子的传播视觉变化有关(例如,当父窗口关闭时自动关闭子窗口,当父母最小化时最小化孩子)。将用户控件作为父级,这些行为并没有意义。