1
0

MenuPage.xaml.cs 946 B

123456789101112131415161718192021222324252627282930313233343536373839
  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. using ReactiveUI;
  10. namespace ControlCatalog.Pages
  11. {
  12. public class MenuPage : UserControl
  13. {
  14. public MenuPage()
  15. {
  16. this.InitializeComponent();
  17. DataContext = new MenuPageViewModel();
  18. }
  19. private void InitializeComponent()
  20. {
  21. AvaloniaXamlLoader.Load(this);
  22. }
  23. private MenuPageViewModel _model;
  24. protected override void OnDataContextChanged(EventArgs e)
  25. {
  26. if (_model != null)
  27. _model.View = null;
  28. _model = DataContext as MenuPageViewModel;
  29. if (_model != null)
  30. _model.View = this;
  31. base.OnDataContextChanged(e);
  32. }
  33. }
  34. }