I googled this and still can\'t get it working
I have a WPF app and want to start from Main.xaml which is located in a different assembly. Both assemblies are in the
I'd check your pack URI. Below is the uri I'd try. Think of 'component' as the root folder in your project and where I've put 'FolderName' put the appropriate folder name or remove it if Main.xaml is in the root of the project.
StartupUri = new Uri(@"pack://application:,,,/CompanyName.VisualStudio.UI;component/FolderName/Main.xaml", UriKind.Absolute);
This article gives a clean XAML-only solution.
StartupUri="pack://application:,,,/assembly_name;component/path/file_name.xaml"
Where:
Examples:
pack://application:,,,/UI;component/CalculatorView.xaml
assembly - UI.dll
path - none (file at project root)
file_name - CalculatorView
pack://application:,,,/MyApp.UI;component/Views/CalculatorView.xaml
assembly - MyApp.UI.dll
path - Views
file_name - CalculatorView
pack://application:,,,/UI;component/Views/External/CalculatorView.xaml assembly - UI.dll
path - Views/External
file_name - CalculatorView
Old question, but this is also helpful:
void App_Startup(object sender, StartupEventArgs e)
{
MainWindow = new YourWindow(some, arguments);
MainWindow.Show();
}
and i app.xaml:
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SDKSample.App"
Startup="App_Startup" />
and rememeber about ShutdownMode : if you remember to open new window before closing last one you should be good