Ho appena rimosso "App.xaml" interamente dalla mia soluzione e ho creato la mia classe di ingresso xamlless dove sto implementando il metodo statico tradizionale Main()
.Completamente cancellato "App.xaml" e creato il proprio punto di ingresso, quali sono le conseguenze?
sto instancing un nuovo Application
di classe e la sua creazione prima di chiamare il suo metodo Run()
, dandogli un StartupUri
, così aggiungendo ad esso una nuova risorsa-dizionario così i miei stili vengono applicate automaticamente. Tutto funziona come previsto, viene visualizzata la finestra principale, le risorse vengono caricate e i modelli vengono applicati correttamente su tutti i controlli e le finestre.
Ma ho bisogno di sapere se ci sono delle conseguenze negative facendo così? Che cosa mi ha offerto la classe App
, quindi dovrei tenerla invece di sostituirla con il mio punto di ingresso compatto e senza xamess, che mi ha dato lo stesso risultato esatto?
public static class Entry
{
private static readonly Application _application = new Application();
[STAThread]
public static void Main()
{
_application.StartupUri = new Uri("/Eurocentric;component/Interface/MainWindow.xaml" , UriKind.Relative);
var style = new ResourceDictionary
{
Source = new Uri("/Eurocentric;component/Interface/Styles/VictorianStyle.xaml", UriKind.Relative)
};
_application.Resources.MergedDictionaries.Add(style);
TemplatedWindow.Defaults();
_application.Run();
}
}
Domanda contraria: quali sono i lati positivi nel fare ciò? –
Tutte spiegate nella sezione Note della pagina [Classe applicazione] (https://msdn.microsoft.com/en-us/library/System.Windows.Application.aspx) su MSDN, in particolare in 'Nota: un'applicazione autonoma non richiede un oggetto Application; è possibile implementare un metodo di punto di ingresso statico personalizzato (Principale) che apre una finestra senza creare un'istanza di Applicazione. Tuttavia, le applicazioni del browser XAML (XBAP) richiedono un oggetto Application. – Clemens
@Clemens Che non elenca i negativi (se ce ne sono) comunque –