На основе XAML на UserControl - PullRequest
       4

На основе XAML на UserControl

0 голосов
/ 06 августа 2011

Я все еще только о лодыжке глубоко в SL, так что надеюсь, что это что-то простое, что мне не хватает ...

Мне нужны два (когда-нибудь еще) элемента управления Silverlight, которые в основном существуют дляотображать несколько похожих таблиц данных, но большая часть той же разметки кода будет одинаковой.

Я пытался создать базовый класс, который наследует UserControl, затем создать отдельные пользовательские элементы управления на основе XAML, затем настроить корневой узел /codebehind для наследования от моего нового базового класса.

Когда я делаю, ничего из XAML (дочернего класса) не рендерится.Есть какие-нибудь указатели?

Редактировать: Добавление кода и обновлений

Комментарий Энтони и ясная голова заставили его работать.Далее следует как правильно подключить его.Я шел по пути добавления защищенного поля в родительский класс и создания виртуальных обработчиков событий, а затем при загрузке дочерних элементов устанавливал родительское поле для ссылки на содержащуюся в нем дочернюю сетку данных и переопределял обработчики событий в виде оболочек, которые просто передаются в базу.

public class GridControlBase : UserControl
{
    protected DataGrid BaseGrid;

    public GridControlBase()
    { 
    }

    public virtual void GridSelectionChanged (object sender, RoutedEventArgs e)
    {
    }
}

public partial class GridOne : GridControlBase
{
    public GridOne()
    {
        InitializeComponent();
        BaseGrid = ChildGridOne;  // ChildGridOne defined in xaml
    }

    public override void GridSelectionChanged(object sender, RoutedEventArgs e)
    {
        base.GridSelectionChanged(sender, e);
    }
}

Будет ли это подходящим временем для того, чтобы сделать базовый класс абстрактным?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...