2016-11-07 1 views
0

Wenn Sie eine neue universelle Windows-Anwendung erstellen, generiert Visual Studio normalerweise eine App.xaml-Datei, von der ich vermute, dass sie im Hintergrund die Startmethode für die Anwendung Main (string args) generiert.Wie kann ich eine UWP-Anwendung aus Code ohne App.xaml-Datei mit Main() -Methode starten?

Ich muss meine Anwendung ohne eine Xaml-Datei starten, indem Sie manuell die Main() -Methode schreiben.

In WPF ich folgendes schreiben konnte: es

[STAThread()] 
public static void Main() => new MyAppClass().Run(); 

Aber in UWP Windows.UI.Xaml.Application Klasse keine Run() Methode ist. Also funktioniert das obige nicht.

Welchen Code sollte ich stattdessen schreiben, um die Anwendung zu starten (unter der Annahme, dass meine Anwendungsklasse MyApplication heißt, die von Windows.UI.Xaml.Application erbt)?

+0

Was ist Ihr Anwendungsfall für diese Anforderung? Vielleicht gibt es bessere Möglichkeiten, sich ihm zu nähern. – Bart

+0

Das Problem besteht darin, dass ich meine Anwendungsklasse von einer anderen Klasse erben muss, die von Windows.UI.Xaml.Application erbt. Xaml kann damit nicht umgehen. Ich habe das nicht in die Frage aufgenommen, um Verwirrung zu vermeiden. – Paymon

+0

Das ist möglich und ist genau das, was wir mit Prism machen, mit [einer anderen Klasse für jeden IoC-Container] (https://github.com/PrismLibrary/Prism-Samples-Windows/blob/master/SplitViewSample/SplitViewSample/App.xaml .cs). – Bart

Antwort

2

Es gefunden!

static void Main(string[] args) 
{ 
    Windows.UI.Xaml.Application.Start((p) => new MyApplication()); 
} 
Verwandte Themen