动画demo完成

This commit is contained in:
艾竹
2023-01-27 14:54:03 +08:00
parent 64ea56f01e
commit 72e3efb052
81 changed files with 1211 additions and 503 deletions

View File

@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -35,17 +36,75 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo
assembly.GetTypes().Where(x => x.Namespace.StartsWith("AIStudio.Wpf.DiagramDesigner.Demo.ViewModels") && x.Name.Contains("ViewModel")).ToList().ForEach(x => _viewModelDic.Add(x.Name.Remove(x.Name.Length - 9), x));
}
#endregion
List<MenuItemViewModel> _menus;
public MainWindow()
{
InitializeComponent();
this.Loaded += MainWindow_Loaded;
listbox.ItemsSource = _viewDic.Keys.ToList();
_menus = new List<MenuItemViewModel>()
{
new MenuItemViewModel(){Title = "Simple"},
new MenuItemViewModel(){Title = "Locked"},
new MenuItemViewModel(){Title = "Events"},
new MenuItemViewModel(){Title = "DynamicInsertions"},
new MenuItemViewModel(){Title = "Performance"},
new MenuItemViewModel(){Title = "Zoom"},
new MenuItemViewModel(){Title = "SnapToGrid"},
new MenuItemViewModel(){Title = "DragAndDrop"},
new MenuItemViewModel(){Title = "Nodes",
Children=new List<MenuItemViewModel>
{
new MenuItemViewModel(){Title = "Svg"},
new MenuItemViewModel(){Title = "Portless"},
}
},
new MenuItemViewModel(){Title = "Links",
Children=new List<MenuItemViewModel>
{
new MenuItemViewModel(){Title = "Snapping"},
new MenuItemViewModel(){Title = "Labels"},
new MenuItemViewModel(){Title = "Vertices"},
new MenuItemViewModel(){Title = "Markers"},
new MenuItemViewModel(){Title = "Routers"},
new MenuItemViewModel(){Title = "PathGenerators"},
}
},
new MenuItemViewModel(){Title = "Groups",
Children=new List<MenuItemViewModel>
{
new MenuItemViewModel(){Title = "Grouping"},
}
},
new MenuItemViewModel(){Title = "Customization",
Children=new List<MenuItemViewModel>
{
new MenuItemViewModel(){Title = "CustomNode"},
new MenuItemViewModel(){Title = "CustomLink"},
new MenuItemViewModel(){Title = "CustomPort"},
new MenuItemViewModel(){Title = "CustomGroup"},
}
},
new MenuItemViewModel(){Title = "Algorithms",
Children=new List<MenuItemViewModel>
{
}
},
new MenuItemViewModel(){Title = "Animations",
Children=new List<MenuItemViewModel>
{
new MenuItemViewModel(){Title = "PathAnimation"},
new MenuItemViewModel(){Title = "LineAnimation"},
}
},
};
treeview.ItemsSource = _menus;
}
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
listbox.SelectedIndex = 0;
treeview.SelectObject(_menus.FirstOrDefault());
}
private void Button_Click(object sender, RoutedEventArgs e)
@@ -74,17 +133,33 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo
ContentControl.Content = control;
}
else
ContentControl.Content = null;
{
ContentControl.Content = new Controls.NotDoneYetControl();
}
}
private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
private void treeview_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
if (!IsLoaded)
return;
var tag = listbox.SelectedItem as string;
ShowContent(tag);
if (e.NewValue is MenuItemViewModel menuItemViewModel && menuItemViewModel.Children == null)
{
ShowContent(menuItemViewModel.Title);
}
}
}
}
public class MenuItemViewModel
{
public string Title
{
get; set;
}
public List<MenuItemViewModel> Children
{
get; set;
}
}
}