2010-03-25 3 views
0

У меня есть форма окна в моем приложении WPF, когда я открываю новое окно из своей формы, я использовал для установки владельца нового окна в открывшемся окне. Но когда я преобразовал родительское окно для пользователя управления линиейПользовательский контроль как владелец

objSearchCareGiver.Owner = this; 

дает ошибку

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

может кто-нибудь объяснить, почему это так?

+0

Не могли бы вы указать, какую ошибку вы получили? Это поможет людям дать вам более точные ответы. – Ando

+0

Я добавил свою ошибку –

ответ

0

Получаете ли вы ошибку времени выполнения или ошибку времени компиляции? Я предполагаю, что ваша ошибка связана с тем, что свойство Window.Owner имеет тип Window, а элементы управления пользователя недопустимы. Даже если пользовательский элемент управления является подклассом Window, может быть, пользовательские элементы управления не могут владеть дочерними окнами. В частности, если вы посмотрите на the documentation for the Window.Owner property, это говорит о свойстве, устанавливающем связь между родительской и дочерней формой. Это отношение в основном связано с распространением визуальных изменений от родителя к ребенку (например, закрытие дочернего окна автоматически при закрытии родительского окна, минимизация дочернего элемента при минимизации родителя). Эти поведения на самом деле не имеют смысла с пользовательским контролем в качестве родителя.

+0

У меня есть ошибка времени компиляции. –

+0

В этом случае, хотя я не могу быть уверен, потому что вы не отправили конкретную ошибку, я бы предположил, что пользовательские элементы управления несовместимы с типом «Window». Поэтому вы просто не можете назначить пользовательский элемент управления как владелец «окна», потому что 'Window.Owner' сам должен быть« окном ». – Dathan

Смежные вопросы