App.xaml.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using Perspex;
  3. using Perspex.Controls;
  4. using Perspex.Diagnostics;
  5. using Perspex.Logging;
  6. using Perspex.Logging.Serilog;
  7. using Perspex.Markup.Xaml;
  8. using Serilog;
  9. using Serilog.Filters;
  10. namespace BindingTest
  11. {
  12. public class App : Application
  13. {
  14. public App()
  15. {
  16. RegisterServices();
  17. InitializeSubsystems((int)Environment.OSVersion.Platform);
  18. InitializeComponent();
  19. InitializeLogging();
  20. }
  21. public static void AttachDevTools(Window window)
  22. {
  23. DevTools.Attach(window);
  24. }
  25. private static void Main()
  26. {
  27. var app = new App();
  28. var window = new MainWindow();
  29. window.Show();
  30. app.Run(window);
  31. }
  32. private void InitializeComponent()
  33. {
  34. PerspexXamlLoader.Load(this);
  35. }
  36. private void InitializeLogging()
  37. {
  38. #if DEBUG
  39. SerilogLogger.Initialize(new LoggerConfiguration()
  40. .MinimumLevel.Warning()
  41. .WriteTo.Trace(outputTemplate: "{Area}: {Message}")
  42. .CreateLogger());
  43. #endif
  44. }
  45. }
  46. }