using ReactiveUI;
using Shadowsocks.WPF.ViewModels;
using System.Reactive.Disposables;
namespace Shadowsocks.WPF.Views
{
///
/// Interaction logic for OnlineConfigView.xaml
///
public partial class OnlineConfigView : ReactiveUserControl
{
public OnlineConfigView()
{
InitializeComponent();
ViewModel = new OnlineConfigViewModel();
this.WhenActivated(disposables =>
{
this.OneWayBind(ViewModel,
viewModel => viewModel.Sources,
view => view.sourcesListBox.ItemsSource)
.DisposeWith(disposables);
this.Bind(ViewModel,
viewModel => viewModel.SelectedSource,
view => view.sourcesListBox.SelectedItem)
.DisposeWith(disposables);
this.Bind(ViewModel,
viewModel => viewModel.Address,
view => view.urlTextBox.Text)
.DisposeWith(disposables);
this.BindCommand(ViewModel,
viewModel => viewModel.Update,
view => view.updateButton)
.DisposeWith(disposables);
this.BindCommand(ViewModel,
viewModel => viewModel.UpdateAll,
view => view.updateAllButton)
.DisposeWith(disposables);
this.BindCommand(ViewModel,
viewModel => viewModel.CopyLink,
view => view.copyLinkButton)
.DisposeWith(disposables);
this.BindCommand(ViewModel,
viewModel => viewModel.Remove,
view => view.removeButton)
.DisposeWith(disposables);
this.BindCommand(ViewModel,
viewModel => viewModel.Add,
view => view.addButton)
.DisposeWith(disposables);
});
}
}
}