Подтвердить что ты не робот

WPF - отключить автоген Main в App.g.cs

Я изучаю WPF.

Я хочу предоставить свой собственный метод Main в своем App.xaml.cs вместо того, чтобы получить один сгенерированный для меня в App.g.cs. Однако я продолжаю получать конфликты, потому что я не узнал, как остановить создание дополнительной Main.

Есть ли параметр в моем файле проекта или в другом месте, который контролирует это?

4b9b3361

Ответ 1

Я нашел ответ здесь. http://learnwpf.com/post/2007/12/13/How-can-I-provide-my-own-Main%28%29-method-in-my-WPF-application.aspx

Это:

Способ, которым WPF знает, чтобы создать метод Main() для конкретного файла xaml, - это свойство свойства сборки, установленное для App.xaml - он имеет действие сборки ApplicationDefinition. Изменив это на страницу WPF, не будет создан метод Main, и вы можете предоставить свой собственный файл обычного класса, который вы добавляете в проект.

Однако в комментариях к вышеуказанному блогу комментарий отмечает, что могут быть проблемы с blend и ссылки: http://blogs.msdn.com/expression/archive/2008/04/09/creating-a-wpf-blend-project-that-loads-resources-in-code.aspx. Я еще не совсем понял проблемы.

Ответ 2

Вы также можете создать отдельный класс (например, Entry), который отвечает за загрузку приложения. Затем перейдите к настройкам проекта и установите для объекта запуска значение Entry. Таким образом, вам даже не нужно отключать автогенерированный метод.

Ответ 3

Самый простой способ - установить действие Build в окне свойств из ApplicationDefinition на страницу для App.Xaml.

Затем вы можете определить свою собственную точку входа.

Ответ 4

Я нашел решение:

  • Скопируйте данные из файла app.xaml
  • Удалить файл app.xaml и повторно создать с тем же именем
  • Создайте `main` метод в .cs файле и вставьте в него старый скопированный код

Ответ 5

Один из способов - отказаться от определения производного класса приложения в XAML, поэтому вы можете вручную определить метод Main с вашим пользовательским требованием

Ответ 6

Простой способ просто создать класс, например Startup.cs, с помощью команды build для компиляции и удалите ApplicationDefinition из App.xaml, чтобы перейти на страницу и удалить его из любого другого файла в приложении