Наследование от абстрактного подкласса UserControl - PullRequest
2 голосов
/ 09 марта 2009

У меня есть набор UserControls, которые должны иметь несколько похожих свойств. Таким образом, я определил абстрактный подкласс UserControl, который определяет эти свойства, и обновил файлы .xaml.cs и .g.cs для наследования от этого базового класса. Все хорошо компилируется и работает хорошо. Большой! Но .... .g.cs файлы генерируются и будут регенерированы, так как я могу сказать Blend или Visual Studio продолжать наследование от моего базового класса, а не от UserControl?

1 Ответ

6 голосов
/ 09 марта 2009

Вам нужно немного изменить XAML, чтобы добавить префикс объявления UserControl к пространству имен:

<local:MyBaseControl x:Class="MyNameSpace.MyControl"
    xmlns:local="clr-namespace:MyNameSpace"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <!-- Content -->
</local:MyBaseControl>

Где MyNameSpace - это ваше пространство имен (дух!), MyBaseControl - это ваш базовый класс, а MyControl - ваш элемент управления, который наследуется от MyBaseControl. Часть x: Class не обязательно должна находиться в одном и том же пространстве имен, я просто сохранил ее для примера.

Подробнее здесь и здесь .

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