2009-06-27 14 views
12

Estoy aprendiendo WPF.WPF - Cierre automático de Main en App.g.cs

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

¿Existe alguna configuración en el archivo de proyecto o en otro lugar que lo controle?

Respuesta

17

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

que es:

La forma de WPF sabe para crear el método Main() para un archivo XAML en particular es a través de la acción de construcción del grupo propiedad de App.xaml - que tiene una acción de construcción de ApplicationDefinition. Al cambiar esto a la página, WPF no creará el método principal y usted podrá proporcionar el suyo en un archivo de clase normal que agregue al proyecto.

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

6

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 configure su objeto de inicio en Entry. De esa forma ni siquiera tiene que deshabilitar el método autogenerado.

+0

que parece ser el más limpio forma de hacer esto, ¿hay algún inconveniente que me pregunto? – Vidar

1

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

Luego puede definir su propio punto de entrada.

0

he encontrado una solución:

  1. copiar los datos de su archivo App.xaml
  2. Eliminar App.xaml archivo y volver a crear con el mismo nombre
  3. Crear `método main` en. cs archivo y pegar el código copiado de edad en él
0

una forma es renunciar a la definición de una clase de aplicaciones derivado en XAML, por lo que puede definir manualmente el método principal con su requisito personalizado

0

La forma más fácil simplemente crear una clase como Startup.cs con la acción de compilación para compilar y quitar ApplicationDefinition de App.xaml convertir a la página que y sacarlo de cualquier otro archivo en la aplicación

Cuestiones relacionadas