Как скопировать и вставить окно WPF (клонировать) и не иметь ошибокC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как скопировать и вставить окно WPF (клонировать) и не иметь ошибок

Сообщение Anonymous »

Я использую .Net 4.5.2 с WPF и C# 5.0. Я создал окно в проекте WPF. Я хотел бы скопировать и вставить это окно в обозреватель решений, создав второе окно, и переименовать его в новое имя.

Когда я это сделаю, новое (скопированное ) метод InitializeComponent() окна всегда выдает ошибку. Как можно аккуратно скопировать окно (и его код и т. д.) в обозревателе решений?

На этот вопрос частично ответили здесь: Копирование и вставка окна WPF выдает ошибку, однако ответ не решил мою проблему.

Мой подход (который не работает):
  • Создайте окно и назовите его WindowTest.
  • В обозревателе решений выберите WindowTest и скопируйте его, а затем вставьте в тот же проект.
  • Переименуйте. новое скопированное окно в WindowTestCopy.
  • В WindowTestCopy измените свойство x:class в xaml на WindowTestCopy вместо WindowTest.
  • Откройте код в WindowTestCopy и измените все ссылки на WindowTest на WindowTestCopy
  • Компилировать
Ожидается: ошибок нет, операция копирования (клонирования) прошла успешно

Фактическое: ошибка компиляции «Невозможно получить доступ к нестатическому методу «InitializeComponent» в статическом контексте».

У меня только одна ошибка. Очевидно, что InitializeComponent() становится неоднозначной ссылкой, но мне не ясно, как вручную отредактировать код, чтобы это исправить. Я бы хотел, чтобы VS или Resharper автоматически помогали мне в этом.

ОБНОВЛЕНИЕ

WindowTest содержит два пользовательских элемента управления, о которых я не упоминал ранее. После копирования/вставки по какой-то причине следующие элементы xaml в WindowTestCopy стали неверными:

xmlns:userControls....(ellided)
xmlns: userControls....(ellided)

Удалив их, Resharper определил, что в объектах userControl отсутствуют ссылочные теги xmlns, и спросил меня, хочу ли я импортировать их автоматически. Я выбрал да. После того, как Resharper добавил недостающие ссылочные теги xmlns, мне удалось скомпилировать (все ошибки исчезли).

У меня нет объяснения, почему это произошло. При воспроизведении я не редактирую xaml, поэтому он должен быть идентичен исходному xaml. Это любопытное поведение, но, по крайней мере, есть описанный обходной путь.

Подробнее здесь: https://stackoverflow.com/questions/276 ... ave-errors
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как клонировать ArrayList, а также клонировать его содержимое?
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как скопировать и вставить файл в Linux и вставить в окна [закрыто]
    Anonymous » » в форуме Linux
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Скопировать/клонировать UIView в Swift в 2021 году?
    Anonymous » » в форуме IOS
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous
  • Как скопировать и вставить в wpf richtextbox, содержащий прогоны и inlineUICOntainer?
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Как скопировать и вставить лист из одной книги Excel в другую с помощью Python?
    Anonymous » » в форуме Python
    0 Ответы
    67 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»