Приложение WPF Prism не завершает работу
Я написал простейшее из возможных приложений WPF Prism. Это не отключение.
App.xaml
<Application x:Class="PrismApp.Desktop.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Shell.xaml"
ShutdownMode="OnMainWindowClose">
<Application.Resources>
</Application.Resources>
</Application>
App.xaml.cs
namespace PrismApp.Desktop
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
Bootstrapper bootstrapper = new Bootstrapper();
bootstrapper.Run();
}
}
}
Bootstrapper.cs
namespace PrismApp.Desktop
{
class Bootstrapper : UnityBootstrapper
{
protected override System.Windows.DependencyObject CreateShell()
{
var shell = new Shell();
return shell;
}
protected override void ConfigureModuleCatalog()
{
base.ConfigureModuleCatalog();
}
}
}
Shell.xaml
<Window x:Class="PrismApp.Desktop.Shell"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Shell" Height="350" Width="525">
<Grid>
</Grid>
</Window>
Почему это так?
1 ответ
Я только что посмотрел мой проект призмы и настройки немного отличаются. может это поможет
в app.xaml у меня нет
StartupUri="Shell.xaml"
ShutdownMode="OnMainWindowClose"
тогда в app.xaml.cs у меня есть следующее
private void StartupContainer()
{
Bootstrapper bootstrapper = new Bootstrapper();
bootstrapper.Run();
bootstrapper.ShowDefaultView();
}
и в моем bootstrapper.cs
Shell _shell;
protected override DependencyObject CreateShell()
{
_shell = Container.Resolve<Shell>();
return _shell;
}
public void ShowDefaultView()
{
_shell.Show();
}
где Shell - мое окно WPF