Files
aistudio-wpf-diagram/Demos/AIStudio.Wpf.DiagramDesigner.Demo/ViewModels/DragAndDropViewModel.cs

88 lines
2.8 KiB
C#
Raw Normal View History

2022-12-04 23:07:20 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using AIStudio.Wpf.Flowchart;
using AIStudio.Wpf.Flowchart.ViewModels;
2023-01-25 15:21:20 +08:00
namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
2022-12-04 23:07:20 +08:00
{
2023-01-25 23:55:30 +08:00
class DragAndDropViewModel: BaseViewModel
2022-12-04 23:07:20 +08:00
{
2023-01-25 23:55:30 +08:00
public DragAndDropViewModel()
2022-12-04 23:07:20 +08:00
{
2023-01-25 23:55:30 +08:00
Title = "Drag & Drop";
Info = "A very simple drag & drop of flowchart demo.";
2023-04-18 22:38:20 +08:00
ToolBoxViewModel = new FlowchartToolBoxViewModel();
2023-01-25 23:55:30 +08:00
DiagramViewModel = new DiagramViewModel();
DiagramViewModel.DiagramOption.LayoutOption.ShowGrid = true;
DiagramViewModel.DiagramOption.LayoutOption.GridCellSize = new Size(100, 100);
DiagramViewModel.DiagramOption.LayoutOption.GridMarginSize = new Size(0, 0);
DiagramViewModel.DiagramOption.LayoutOption.CellHorizontalAlignment = CellHorizontalAlignment.Center;
DiagramViewModel.DiagramOption.LayoutOption.CellVerticalAlignment = CellVerticalAlignment.Center;
DiagramViewModel.DiagramOption.LayoutOption.PageSizeType = PageSizeType.Custom;
DiagramViewModel.DiagramOption.LayoutOption.PageSize = new Size(double.NaN, double.NaN);
2023-01-25 23:55:30 +08:00
DiagramViewModel.PropertyChanged += DiagramViewModel_PropertyChanged;
2022-12-04 23:07:20 +08:00
}
2023-04-18 22:38:20 +08:00
public FlowchartToolBoxViewModel ToolBoxViewModel
2022-12-04 23:07:20 +08:00
{
get; private set;
}
2023-01-24 09:02:40 +08:00
public SelectableDesignerItemViewModelBase SelectedItem
2022-12-04 23:07:20 +08:00
{
get
{
return DiagramViewModel.SelectedItems?.FirstOrDefault();
}
}
private List<SelectOption> _users = new List<SelectOption>()
{
new SelectOption(){ value = "操作员1",text = "操作员1" },
new SelectOption(){ value = "操作员2",text = "操作员2" },
new SelectOption(){ value = "Admin",text = "Admin" },
};
public List<SelectOption> Users
{
get
{
return _users;
}
set
{
_users = value;
}
}
private List<SelectOption> _roles = new List<SelectOption>()
{
new SelectOption(){ value = "操作员",text = "操作员" },
new SelectOption(){ value = "管理员",text = "管理员" },
};
public List<SelectOption> Roles
{
get
{
return _roles;
}
set
{
_roles = value;
}
2023-01-25 23:55:30 +08:00
}
2022-12-04 23:07:20 +08:00
private void DiagramViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (e.PropertyName == "IsSelected")
{
RaisePropertyChanged(nameof(SelectedItem));
}
}
}
}