WPF - отключение автогена Main в App.g.cs - PullRequest
13 голосов
/ 27 июня 2009

Я изучаю WPF.

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

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

Ответы [ 6 ]

18 голосов
/ 27 июня 2009

Я нашел ответ здесь. 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. При изменении этого параметра на Page WPF не будет создавать метод Main, и вы можете предоставить свой собственный в обычном файле класса, который вы добавляете в проект.

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

6 голосов
/ 27 июня 2009

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

1 голос
/ 27 августа 2010

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

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

0 голосов
/ 18 мая 2016

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

0 голосов
/ 08 октября 2013

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

0 голосов
/ 02 апреля 2012

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

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