Window1.xaml.cs 995 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using HistoryView.Controls;
  2. namespace HistoryView.Views;
  3. public partial class Window1 : Window, IDialogWindow
  4. {
  5. public Window1()
  6. {
  7. InitializeComponent();
  8. Loaded += SubWindowStyle_Loaded;
  9. }
  10. public override void OnApplyTemplate()
  11. {
  12. base.OnApplyTemplate();
  13. _header = (Header)GetTemplateChild("ThemeHeader");
  14. }
  15. Header? _header;
  16. private void SubWindowStyle_Loaded(object sender, RoutedEventArgs e)
  17. {
  18. if (_header is null)
  19. return;
  20. if (DataContext is not IDialogAwareTitle dialog)
  21. return;
  22. _header.Title = dialog.Title;
  23. }
  24. public IDialogResult? Result { get; set; } = new DialogResult();
  25. private void This_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
  26. {
  27. try
  28. {
  29. if (e.MouseDevice.DirectlyOver is Border border && border.Parent is Header)
  30. this.DragMove();
  31. }
  32. catch
  33. {
  34. }
  35. }
  36. }