Restart application using C#
I don't think there's a direct method in WPF like there is in WinForms. However, you could use methods from the Windowns.Form
namespace like this: (You might need to add a reference to the System.Windows.Form
assembly)
System.Windows.Forms.Application.Restart();
System.Windows.Application.Current.Shutdown();
The following is the best solution I found, you don't need to add a reference to System.Windows.Forms, instead you need add the namespace System.Diagnostics
which you already has a reference to its assembly:
Process.Start(Application.ResourceAssembly.Location);
Application.Current.Shutdown();
The code
Process.Start(Application.ResourceAssembly.Location);
does not work for .NET Core 3.1 applications. Instead use
using System.Diagnostics;
using System.Windows;
...
Process.Start(Process.GetCurrentProcess().MainModule.FileName);
Application.Current.Shutdown();
This works also for .NET Framework applications.