App.xaml.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // Copyright (c) 2012-2018 fo-dicom contributors.
  2. // Licensed under the Microsoft Public License (MS-PL).
  3. using Caliburn.Micro;
  4. using SimpleViewer.Universal.Services;
  5. using SimpleViewer.Universal.ViewModels;
  6. using System;
  7. using System.Collections.Generic;
  8. using Windows.ApplicationModel.Activation;
  9. namespace SimpleViewer.Universal
  10. {
  11. public sealed partial class App
  12. {
  13. private WinRTContainer container;
  14. public App()
  15. {
  16. InitializeComponent();
  17. }
  18. protected override void Configure()
  19. {
  20. container = new WinRTContainer();
  21. container.RegisterWinRTServices();
  22. container.Singleton<IDicomFileReaderService, DicomFileReaderService>().PerRequest<ShellViewModel>();
  23. }
  24. protected override object GetInstance(Type service, string key)
  25. {
  26. return container.GetInstance(service, key);
  27. }
  28. protected override IEnumerable<object> GetAllInstances(Type service)
  29. {
  30. return container.GetAllInstances(service);
  31. }
  32. protected override void BuildUp(object instance)
  33. {
  34. container.BuildUp(instance);
  35. }
  36. protected override void OnLaunched(LaunchActivatedEventArgs args)
  37. {
  38. if (args.PreviousExecutionState == ApplicationExecutionState.Running)
  39. return;
  40. DisplayRootViewFor<ShellViewModel>();
  41. }
  42. }
  43. }