You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

OnlineConfigView.xaml.cs 2.1 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using ReactiveUI;
  2. using Shadowsocks.WPF.ViewModels;
  3. using System.Reactive.Disposables;
  4. namespace Shadowsocks.WPF.Views
  5. {
  6. /// <summary>
  7. /// Interaction logic for OnlineConfigView.xaml
  8. /// </summary>
  9. public partial class OnlineConfigView : ReactiveUserControl<OnlineConfigViewModel>
  10. {
  11. public OnlineConfigView()
  12. {
  13. InitializeComponent();
  14. ViewModel = new OnlineConfigViewModel();
  15. this.WhenActivated(disposables =>
  16. {
  17. this.OneWayBind(ViewModel,
  18. viewModel => viewModel.Sources,
  19. view => view.sourcesListBox.ItemsSource)
  20. .DisposeWith(disposables);
  21. this.Bind(ViewModel,
  22. viewModel => viewModel.SelectedSource,
  23. view => view.sourcesListBox.SelectedItem)
  24. .DisposeWith(disposables);
  25. this.Bind(ViewModel,
  26. viewModel => viewModel.Address,
  27. view => view.urlTextBox.Text)
  28. .DisposeWith(disposables);
  29. this.BindCommand(ViewModel,
  30. viewModel => viewModel.Update,
  31. view => view.updateButton)
  32. .DisposeWith(disposables);
  33. this.BindCommand(ViewModel,
  34. viewModel => viewModel.UpdateAll,
  35. view => view.updateAllButton)
  36. .DisposeWith(disposables);
  37. this.BindCommand(ViewModel,
  38. viewModel => viewModel.CopyLink,
  39. view => view.copyLinkButton)
  40. .DisposeWith(disposables);
  41. this.BindCommand(ViewModel,
  42. viewModel => viewModel.Remove,
  43. view => view.removeButton)
  44. .DisposeWith(disposables);
  45. this.BindCommand(ViewModel,
  46. viewModel => viewModel.Add,
  47. view => view.addButton)
  48. .DisposeWith(disposables);
  49. });
  50. }
  51. }
  52. }