MainWindowViewModel.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using Avalonia.Controls;
  2. using ReactiveUI;
  3. namespace AvaloniaApplication10.ViewModels
  4. {
  5. public class MainWindowViewModel : ViewModelBase
  6. {
  7. UserControl _us = new Page1(); // поле для загрузки страниц (по умолчанию будет загружена страница Page1)
  8. // свойство для взаимодействия с полем для загрузки страниц
  9. public UserControl Us {
  10. get => _us;
  11. set => this.RaiseAndSetIfChanged(ref _us, value);
  12. }
  13. Page1ViewModel _page1VM = new Page1ViewModel(); // поле для обращения к свойствам, находящимся на странице 1
  14. // свойство для взаимодействия с полем _page1VM
  15. public Page1ViewModel Page1VM
  16. {
  17. get => _page1VM;
  18. set => _page1VM = value;
  19. }
  20. Page2ViewModel page2VM = new Page2ViewModel(); // поле для обращения к свойствам, находящимся на странице 2
  21. // свойство для взаимодействия с полем _page2VM
  22. public Page2ViewModel Page2VM
  23. {
  24. get => page2VM;
  25. set => page2VM = value;
  26. }
  27. public void ToPage2() // метод для перехода на страницу 2
  28. {
  29. Us = new Page2();
  30. }
  31. public void ToPage1() // метод перехода обратно на страницу 1 со страницы 2
  32. {
  33. Us = new Page1();
  34. }
  35. }
  36. }