2015-02-18 5 views
1

Привет, я действительно работаю над библиотекой WPF, которая предоставляет MainWindow с различными базовыми функциями. Интегратор, который использует компонент, фактически создает это окно, чтобы работать с ним, должен предоставить CostomUserControl, который наследует от «UcDatasourceBase». Этот элемент управления будет помещен в середину главного окна, но я делаю не знаю эффективный тип CustomUserControl, только то, что он реализует UcDatasouceBase.C# WPF XAML - Работа с абстрактными UserControls

Вот кстати CodeBehind из UcDatasourceBase выглядит как:

/// <summary> 
/// Interaction logic for UcDatasourceBase.xaml 
/// </summary> 
public abstract partial class UcDatasourceBase : UserControl 
{ 
    public IDatasource Datasource { get; private set; } 

    public UcDatasourceBase(IDatasource datasource) 
    { 
     InitializeComponent(); 
    } 
} 

И как я интегрировал управления в XAML (это приводит к ошибке компилятора):

<Controls:UcDatasourceBase x:Name="_ucDatasourceBase" HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="5,13,5,7" Grid.Row="2" /> 

В Застройщиком Mainwindow Я, наконец, хочу установить Control по имени:

public MainWindow(UcDatasourceBase ucDatasourceBase) 
    { 
     _UcDatasourceBase = ucDatasouceBase; 
     InitializeComponent(); 
    } 

Итак, как добавить абстрактные элементы управления в xml без получения ошибки?

Ссылки я проверил перед:

Im Использование .NET Framework 4.5 в Visual Studio 2012 Премиум

EDIT:

типа " UcDatasourceBase "является abstra ct и должен содержать явное значение.

+1

Что ошибка вы можете поделиться? – Jamaxack

+0

@jamaxack Я добавил ошибку, но при работе с ней я также могу не найти решение – LuckyLikey

ответ

0

Создать в XAML новую ContentControl и установить его:

<ContentControl x:Name="DataControl" />

Позже в коде:

DataControl.Content = ucDatasourceBase;

+0

Это сработало для меня. Большое спасибо. – LuckyLikey

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