Как найти соответствующий частичный класс в C # и Visual Studio 2010 в файле XAML? - PullRequest
1 голос
/ 29 февраля 2012

У меня есть приложение, созданное с использованием стороннего MVVM-фреймворка.У меня есть несколько представлений, которые по сути будут одинаковыми, поэтому я хочу внедрить пользовательский класс между моими представлениями и исходной основой представления базы в качестве новой базы.Но когда я делаю это, я получаю ошибку, «Частичные объявления не должны указывать разные базовые классы.»

Поэтому в идеале я бы хотел изменить другой частичный для использования моего недавно введенногоПользовательский базовый класс в качестве его базы.Но я нигде не могу его найти.F12 только вызывает мой код, где ошибка генерируется, как только я меняю базу на новую базу, и файл XAML, который не имеет ссылки на исходную базу.

Где находится другой частичный класс?Как мне это найти?Или я, возможно, просто собираюсь создать свой собственный базовый класс для файла XAML с самого начала неправильно?

Ответы [ 3 ]

3 голосов
/ 03 декабря 2012

У меня возникла та же проблема, когда я переименовал пространство имен своего проекта Silverlight, и я получил "Не удается разрешить символ 'Initialize Component" "в моем файле кодовой ссылки xaml:

  1. Откройте код кода xaml .csфайл, в котором возникла проблема;
  2. перейдите на View -> Class View , который откроет проводник Class View;
  3. в моем случае, мне нужноЧтобы развернуть пространство имен, которое нужно было изменить,
  4. , затем я щелкнул по рассматриваемому частичному классу,
  5. , а затем внизу на второй панели появился сломанный метод InitializeComponent;
  6. дважды щелкните по нему, и частичный класс откроется с расширением .g.i.cs.
0 голосов
/ 29 февраля 2012

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

Возможно, ваша проблема в том, что файл XAML объявляет ваш элемент управления как UserControl:

<UserControl x:Class="Your.ExtendedControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <!-- other stuff goes here. -->
</UserControl>

Выше может быть причиной ошибки.Файл XAML должен использовать правильный базовый класс в качестве тега элемента, например:

<YourNamespace:YourBaseClass x:Class="Your.ExtendedControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:YourNamespace="clr-namespace:Your.Project.Namespace">
    <!-- other stuff goes here -->
</YourNamespace:YourBaseClass>
0 голосов
/ 29 февраля 2012

Это скорее всего сам XAML -

Первая строка XAML (первое ключевое слово) определяет тип, на котором вы основаны (то есть: <Window или <UserControl). Это, вероятно, нужно будет изменить в вашем базовом классе, а также в коде файла.

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