using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using AIStudio.Wpf.Flowchart; using AIStudio.Wpf.Flowchart.ViewModels; namespace AIStudio.Wpf.DiagramDesigner.Test.ViewModels { class MainWindowViewModel : BindableBase { public ToolBoxViewModel ToolBoxViewModel { get; private set; } public DiagramViewModel DiagramViewModel { get; private set; } protected IDiagramServiceProvider _service { get { return DiagramServicesProvider.Instance.Provider; } } public SelectableDesignerItemViewModelBase SelectedItem { get { return DiagramViewModel.SelectedItems?.FirstOrDefault(); } } private List _users = new List() { new SelectOption(){ value = "操作员1",text = "操作员1" }, new SelectOption(){ value = "操作员2",text = "操作员2" }, new SelectOption(){ value = "Admin",text = "Admin" }, }; public List Users { get { return _users; } set { _users = value; } } private List _roles = new List() { new SelectOption(){ value = "操作员",text = "操作员" }, new SelectOption(){ value = "管理员",text = "管理员" }, }; public List Roles { get { return _roles; } set { _roles = value; } } public MainWindowViewModel() { ToolBoxViewModel = new ToolBoxViewModel(); DiagramViewModel = new DiagramViewModel(); DiagramViewModel.ShowGrid = true; DiagramViewModel.GridCellSize = new Size(100, 60); DiagramViewModel.GridMargin = 0d; DiagramViewModel.CellHorizontalAlignment = CellHorizontalAlignment.Center; DiagramViewModel.CellVerticalAlignment = CellVerticalAlignment.Center; DiagramViewModel.PageSizeType = PageSizeType.Custom; DiagramViewModel.PageSize = new Size(double.NaN, double.NaN); _service.DrawModeViewModel.VectorLineDrawMode = DrawMode.BoundaryConnectingLine; DiagramViewModel.PropertyChanged += DiagramViewModel_PropertyChanged; } private void DiagramViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { if (e.PropertyName == "IsSelected") { RaisePropertyChanged(nameof(SelectedItem)); } } } }