Я все еще только о лодыжке глубоко в 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);
}
}
Будет ли это подходящим временем для того, чтобы сделать базовый класс абстрактным?