2013-06-12 10 views
11

Sto utilizzando Visual Studio 2012 C#. Ho creato un progetto di applicazione WPF con una finestra principale e aggiunto una finestra di accesso al mio progetto. Voglio cambiare la finestra di avvio per essere la mia finestra di login ma non riesco a farlo.Cambia finestra di avvio

Sono andato alle proprietà ma tutto quello che vedo è Myproject.app - non dovrebbe visualizzare le forme del mio progetto?

Comunque ho provato a fare funzionare la finestra dal codice e in questo modo:

Application.Run(new Login()); 

Ma questo non sembra funzionare. Dà un errore che dice:

di errore 1 È necessario un riferimento a un oggetto per il campo non statico, metodo o proprietà 'System.Windows.Application.Run (System.Windows.Window)'

risposta

35

per cambiare aggiornamento della finestra di avvio App.xaml modificando Application.StartupUri:

<Application ... StartupUri="MainWindow.xaml"> 
+8

Se la finestra è contenuta all'interno di una sottocartella, avresti bisogno di usare il percorso relativo. Per esempio. '" sottocartella \ MainWindow.xaml "' – JDB

+0

Grazie! Ora ottengo l'errore statico quando provo ad aprire la mia finestra principale: Application.Run (new MainWindow()); – Albertus

+0

hai ancora 'Application.Run (...)' nel tuo codice o l'hai rimosso? – dkozl

-1

uso Application.Current.Run Invece di Application.Run

0

Per modificare la finestra di avvio di programmazione andare a App.xaml rimuovere la riga StartupUri="MainWindow.xaml" (Questo rimuoverà la configurazione di finestra di avvio di default), ora aggiungere l'evento di avvio Startup="Application_Startup", in App.xaml.cs

private void Application_Startup(object sender, StartupEventArgs e) 
{ 
    If(somecase) 
    { 
    MainWindow mainWindow = new MainWindow(); 
    mainWindow.Show(); 
    } 
    else 
    { 
    OtherWindow otherWindow= new OtherWindow(); 
    otherWindow.Show(); 
    } 
} 
Problemi correlati