61 lines
1.9 KiB
C#
61 lines
1.9 KiB
C#
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using FlexitimeTaskbarUtility.Extensions;
|
|
using FlexitimeTaskbarUtility.Interfaces;
|
|
using FlexitimeTaskbarUtility.Services;
|
|
using FlexitimeTaskbarUtility.ViewModels;
|
|
using Hardcodet.Wpf.TaskbarNotification;
|
|
using Prism.DryIoc;
|
|
using Prism.Events;
|
|
using Prism.Ioc;
|
|
using Prism.Regions;
|
|
|
|
namespace FlexitimeTaskbarUtility
|
|
{
|
|
/// <summary>
|
|
/// Interaction logic for App.xaml
|
|
/// </summary>
|
|
public partial class App : PrismApplication
|
|
{
|
|
private TaskbarIcon notifyIcon;
|
|
|
|
protected override void OnStartup(StartupEventArgs e)
|
|
{
|
|
base.OnStartup(e);
|
|
}
|
|
|
|
protected override void ConfigureRegionAdapterMappings(RegionAdapterMappings regionAdapterMappings)
|
|
{
|
|
base.ConfigureRegionAdapterMappings(regionAdapterMappings);
|
|
regionAdapterMappings.RegisterMapping(typeof(ContextMenu), Container.Resolve<ContextMenuRegionAdapter>());
|
|
}
|
|
|
|
protected override void RegisterTypes(IContainerRegistry containerRegistry)
|
|
{
|
|
containerRegistry.Register<ILoginService, LoginService>();
|
|
containerRegistry.Register<ISignInService, SignInService>();
|
|
containerRegistry.Register<NotifyIconViewModel>();
|
|
containerRegistry.Register<LoginControlViewModel>();
|
|
}
|
|
|
|
protected override Window CreateShell()
|
|
{
|
|
return null;
|
|
}
|
|
|
|
protected override void OnInitialized()
|
|
{
|
|
base.OnInitialized();
|
|
|
|
notifyIcon = (TaskbarIcon)FindResource("NotifyIcon");
|
|
notifyIcon.DataContext = Container.Resolve<NotifyIconViewModel>();
|
|
}
|
|
|
|
protected override void OnExit(ExitEventArgs e)
|
|
{
|
|
notifyIcon.Dispose(); //the icon would clean up automatically, but this is cleaner
|
|
base.OnExit(e);
|
|
}
|
|
}
|
|
}
|