port from perforce
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
using System.Diagnostics;
|
||||
using System.Reactive.Disposables;
|
||||
using System.Reactive.Linq;
|
||||
using System.Windows;
|
||||
using Intromat.ViewModels.Nodes;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Intromat.Views.Editors
|
||||
{
|
||||
public partial class GroupEndpointEditorView : IViewFor<IGroupEndpointEditorViewModel>
|
||||
{
|
||||
public static readonly DependencyProperty ViewModelProperty = DependencyProperty.Register(nameof(ViewModel),
|
||||
typeof(IGroupEndpointEditorViewModel), typeof(GroupEndpointEditorView), new PropertyMetadata(null));
|
||||
|
||||
public GroupEndpointEditorView()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.WhenAnyValue(v => v.editNameButton.IsChecked)
|
||||
.Select(isChecked => isChecked ?? false ? Visibility.Visible : Visibility.Collapsed)
|
||||
.BindTo(this, v => v.nameTextBox.Visibility);
|
||||
|
||||
this.WhenActivated(d =>
|
||||
{
|
||||
Debug.Assert(ViewModel != null, nameof(ViewModel) + " != null");
|
||||
this.Bind(ViewModel, vm => vm.Endpoint.Name, v => v.nameTextBox.Text).DisposeWith(d);
|
||||
this.BindCommand(ViewModel, vm => vm.MoveUp, v => v.upButton).DisposeWith(d);
|
||||
this.BindCommand(ViewModel, vm => vm.MoveDown, v => v.downButton).DisposeWith(d);
|
||||
this.BindCommand(ViewModel, vm => vm.Delete, v => v.deleteButton).DisposeWith(d);
|
||||
});
|
||||
}
|
||||
|
||||
public IGroupEndpointEditorViewModel? ViewModel
|
||||
{
|
||||
get => (IGroupEndpointEditorViewModel?)GetValue(ViewModelProperty);
|
||||
set => SetValue(ViewModelProperty, value);
|
||||
}
|
||||
|
||||
object? IViewFor.ViewModel
|
||||
{
|
||||
get => ViewModel;
|
||||
set => ViewModel = (IGroupEndpointEditorViewModel?)value;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user