2013-05-30 5 views
3

У меня есть вызов класса PopupWindow, который наследуется от UserControl. PopupWindow не имеет связанной страницы xaml, ее просто обычный класс, который наследуется от UserControlC# Наследование базового класса UserControl

У меня тогда есть другой UserControl, который наследуется от PopupWindow. Теперь это правильный пользовательский элемент управления, в котором есть связанная страница xaml.

Я изменил корень XAML тег, чтобы быть PopupWindow как этот

<local:PopupWindow 
    ..... 
</local:PopupWindow> 

где местные пространства имен в этом PopupWindow существует.

Но я все время получаю сообщение об ошибке, что PopupWindow не существует в данном пространстве имен.

Что я делаю неправильно?

Благодаря

ответ

2

мне удалось получить эту работу следующим образом: контроль

Родитель:

public class PopupWindow : UserControl 
{ 
} 

наследуя контроль: за

Код:

public partial class PopupWindowChild 
{ 
    public PopupWindowChild() 
    { 
     InitializeComponent(); 
    } 
} 

XAML:

<Controls:PopupWindow x:Class="MyNamespace.Controls.PopupWindowChild" 
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
         xmlns:Controls="clr-namespace:MyNamespace.Controls"> 
    <TextBlock Text="Blah" /> 
</Controls:PopupWindow> 

Общий вид:

<Window x:Class="MyNamespace.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:Controls="clr-namespace:MyNamespace.Controls"> 
    <Controls:PopupWindow /> 
</Window> 

Ваш XAML не распознает ваш контроль, пока код не будет построен. После того, как я был построен и запущен, я вижу «Бла» в своем главном представлении, как и ожидалось.

+0

Это отличная работа. Что делать, если PopupWindow использует generics, т. Е. Открытый класс PopupWindow : UserControl? –

+0

Отличный материал, рад, что я смог помочь. Обязательно отметьте ответ! Посмотрите на [это] (http://jamescrisp.org/2008/05/26/wpf-control-inheritance-with-generics/) для получения дополнительной информации об элементах WPF с дженериками. – Rob

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