Pregunta

Estoy aprendiendo WPF.

Quiero proporcionar mi propio método Main en mi App.xaml.cs en lugar de obtener uno generado para mí en App.g.cs. Sin embargo, sigo teniendo conflictos porque no he descubierto cómo evitar que se genere un Main adicional.

¿Hay alguna configuración en mi archivo de proyecto o en otro lugar que controle esto?

¿Fue útil?

Solución

Encontré la respuesta aquí. http://learnwpf.com/post/2007/12/13/How-can-I-provide-my-own-Main%28%29-method-in-my-WPF- application.aspx

Es:

  

La forma en que WPF sabe crear el método Main () para un archivo xaml particular es a través de la propiedad de acción de compilación establecida para App.xaml: tiene una acción de compilación de ApplicationDefinition. Al cambiar esto a la página WPF no creará el método Main y puede proporcionar el suyo en un archivo de clase regular que agregue al proyecto.

Sin embargo, en los comentarios al blog anterior, un comentario señala que puede haber problemas con blend y hace referencia a: http://blogs.msdn.com/expression/archive/2008/04/09/creating -a-wpf-blend-project-that-load-resources-in-code.aspx . Todavía no entiendo completamente los problemas.

Otros consejos

También puede crear una clase separada (por ejemplo, Entry) que es responsable de iniciar su aplicación. Luego vaya a la configuración del proyecto y establezca su objeto de inicio en <=>. De esa manera ni siquiera tiene que deshabilitar el método autogenerado.

La forma más fácil es establecer la Acción de compilación en la ventana Propiedades de ApplicationDefinition a Page para App.Xaml.

Luego puede definir su propio punto de entrada.

Encontré una solución:

  1. Copie los datos de su archivo app.xaml
  2. Eliminar el archivo app.xaml y volver a crear con el mismo nombre
  3. Cree el método `main` en el archivo .cs y pegue el código copiado en él

Una forma es renunciar a definir una clase derivada de la aplicación en XAML, para que pueda definir manualmente el método Main con su requisito personalizado

La manera fácil simplemente crea una clase como Startup.cs con acción de compilación para compilar y eliminar ApplicationDefinition de App.xaml convertir eso a página y eliminarlo de cualquier otro archivo en la aplicación

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top