MenuPage.xaml.cs 929 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Reactive;
  4. using System.Threading.Tasks;
  5. using System.Windows.Input;
  6. using Avalonia.Controls;
  7. using Avalonia.Markup.Xaml;
  8. using ControlCatalog.ViewModels;
  9. namespace ControlCatalog.Pages
  10. {
  11. public class MenuPage : UserControl
  12. {
  13. public MenuPage()
  14. {
  15. this.InitializeComponent();
  16. DataContext = new MenuPageViewModel();
  17. }
  18. private void InitializeComponent()
  19. {
  20. AvaloniaXamlLoader.Load(this);
  21. }
  22. private MenuPageViewModel? _model;
  23. protected override void OnDataContextChanged(EventArgs e)
  24. {
  25. if (_model != null)
  26. _model.View = null;
  27. _model = DataContext as MenuPageViewModel;
  28. if (_model != null)
  29. _model.View = this;
  30. base.OnDataContextChanged(e);
  31. }
  32. }
  33. }