Domanda

Sto imparando WPF.

Voglio fornire il mio metodo Main nel mio App.xaml.cs piuttosto che ottenerne uno generato per me in App.g.cs. Tuttavia continuo ad avere conflitti perché non ho scoperto come impedire la generazione di un Main aggiuntivo.

C'è un'impostazione nel mio file di progetto o altrove che lo controlla?

È stato utile?

Soluzione

Ho trovato la risposta qui. http://learnwpf.com/post/2007/12/13/How-can-I-provide-my-own-Main%28%29-method-in-my-WPF- Application.aspx

È:

  

Il modo in cui WPF sa creare il metodo Main () per un particolare file xaml è attraverso la proprietà dell'azione build impostata per App.xaml - ha un'azione build di ApplicationDefinition. Modificandolo in Pagina, WPF non crea il metodo Main e puoi fornirne uno tuo in un normale file di classe che aggiungi al progetto.

Tuttavia nei commenti al blog sopra, un commento nota che potrebbero esserci problemi con la fusione e fa riferimento: http://blogs.msdn.com/expression/archive/2008/04/09/creating -a-wpf-blend-progetto-che-carica-risorse-in-code.aspx . Non capisco ancora completamente i problemi.

Altri suggerimenti

Puoi anche semplicemente creare una classe separata (ad esempio, Entry) che è responsabile del bootstrap dell'applicazione. Quindi vai alle impostazioni del progetto e imposta l'oggetto di avvio su <=>. In questo modo non è nemmeno necessario disabilitare il metodo di generazione automatica.

Il modo più semplice è impostare l'azione di compilazione nella finestra Proprietà da ApplicationDefinition a Page for App.Xaml.

Quindi puoi definire il tuo punto di ingresso.

Ho trovato una soluzione:

  1. Copia i dati dal tuo file app.xaml
  2. Elimina il file app.xaml e ricrea con lo stesso nome
  3. Crea il metodo `main` nel file .cs e incolla il tuo vecchio codice copiato in esso

Un modo è rinunciare a definire una classe derivata dall'applicazione in XAML, in modo da poter definire manualmente il metodo Main con il requisito personalizzato

Il modo più semplice è semplicemente creare una classe come Startup.cs con l'azione di compilazione da compilare e rimuovere ApplicationDefinition da App.xaml convertirlo in pagina e rimuoverlo da qualsiasi altro file nell'applicazione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top