38 lines
1.2 KiB
C#
38 lines
1.2 KiB
C#
using System.Reactive.Disposables;
|
|
using System.Windows;
|
|
using Intromat.ViewModels.Nodes;
|
|
using ReactiveUI;
|
|
|
|
namespace Intromat.Views
|
|
{
|
|
public partial class GroupSubnetIONodeView : IViewFor<GroupSubnetIONodeViewModel>
|
|
{
|
|
public static readonly DependencyProperty ViewModelProperty = DependencyProperty.Register(nameof(ViewModel),
|
|
typeof(GroupSubnetIONodeViewModel), typeof(GroupSubnetIONodeView), new PropertyMetadata(null));
|
|
|
|
public GroupSubnetIONodeView()
|
|
{
|
|
InitializeComponent();
|
|
|
|
this.WhenActivated(d =>
|
|
{
|
|
NodeView.ViewModel = ViewModel;
|
|
Disposable.Create(() => NodeView.ViewModel = null).DisposeWith(d);
|
|
|
|
this.OneWayBind(ViewModel, vm => vm.NodeType, v => v.NodeView.Background, CodeGenNodeView.ConvertNodeTypeToBrush).DisposeWith(d);
|
|
});
|
|
}
|
|
|
|
public GroupSubnetIONodeViewModel? ViewModel
|
|
{
|
|
get => (GroupSubnetIONodeViewModel?)GetValue(ViewModelProperty);
|
|
set => SetValue(ViewModelProperty, value);
|
|
}
|
|
|
|
object? IViewFor.ViewModel
|
|
{
|
|
get => ViewModel;
|
|
set => ViewModel = (GroupSubnetIONodeViewModel?)value;
|
|
}
|
|
}
|
|
} |