Использование производного класса для UserControl - как устранить сине-подкладку в редакторе xaml? - PullRequest
1 голос
/ 30 августа 2011

Я пытаюсь использовать класс C #, производный от UserControl, в качестве базового класса для корня макета некоторых страниц xaml, чтобы я мог поделиться некоторыми общими функциями.Т.е. класс поддержки имеет вид:

public class BaseView : UserControl
{
    // Some virtual functions I want in common ...
}

public class MyView : BaseView
{
    // Overidden functions ...
}

Файл xaml затем ссылается на класс следующим образом:

<jt:BaseView x:Class="ns.MyView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:jt="clr-namespace:ns"
    ...>
</jt:BaseView>

Кажется, что это работает при запуске, но в редакторе xaml кодвсе подчеркнуты синими волнистыми линиями, с всплывающим сообщением чего-то вроде «Не удается создать экземпляр BaseView».

Если я не делаю этого и использую UserControl в xmal, я получаю ошибки, потому чточастичный класс, сгенерированный из xaml, имеет базовый класс UserControl, а не мой пользовательский базовый класс.

Как мне узнать, что редактор знает о моем пользовательском базовом классе (то есть избавиться от синих подчеркиваний)?*

1 Ответ

1 голос
/ 30 августа 2011

Самая распространенная причина возникновения ошибки типа "Не удается создать экземпляр ..." заключается в том, что конструктор элемента делает что-то, что не имеет смысла или недоступно во время разработки.

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