MainWindowViewModel.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Copyright (c) The Perspex Project. All rights reserved.
  2. // Licensed under the MIT license. See licence.md file in the project root for full license information.
  3. using System;
  4. using Perspex.Xaml.Base.UnitTest.SampleModel;
  5. using ReactiveUI;
  6. namespace GitHubClient.ViewModels
  7. {
  8. public class MainWindowViewModel : ReactiveObject
  9. {
  10. private object _content;
  11. private LogInViewModel _login;
  12. public MainWindowViewModel()
  13. {
  14. ShowLogin();
  15. }
  16. public object Content
  17. {
  18. get { return _content; }
  19. set { this.RaiseAndSetIfChanged(ref _content, value); }
  20. }
  21. private void ShowLogin()
  22. {
  23. _login = new LogInViewModel();
  24. _login.OkCommand.Subscribe(_ => ShowRepositories());
  25. Content = _login;
  26. }
  27. private void ShowRepositories()
  28. {
  29. var vm = new UserRepositoriesViewModel();
  30. var task = vm.Load(_login.Username);
  31. Content = vm;
  32. }
  33. }
  34. }