How to customize startup of WPF application?
startup, wpf
Solution
You can remove the `StartupUri` attribute from the App.xaml.
Then, by creating an override for `OnStartup()` in the App.xaml.cs, you can create your new instance of your `Dispatcher` class.
Here's what my quick app.xaml.cs implementation looks like:
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
new MyClassIWantToInstantiate();
}
}
}
Update
I recently discovered this workaround for a bug if you use this method to customize app startup and suddenly none of the Application-level resources can be found.
Problem
When a new WPF Application project is created, `MainWindow.xaml`, `App.xaml` and their corresponding code behind classes are automatically generated. In the `App.xaml` there is an attribute that defines which window is going to be run initially and by default, it's `StartupUri="MainWindow.xaml"` I have created a new `Dispatcher` class in the same project. At startup, I want the instance of that class `Dispatcher` to be constructed and then one of its method to run. That method would actually create and show the `MainWindow` window. So how do I modify the `App.xaml` or `App.xaml.cs` in order to make it happen? Or, if it cannot be done by `App`, how should I implement it? Thanks.