mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-03 00:00:57 +08:00
为线的动画做扩展准备
This commit is contained in:
@@ -87,6 +87,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
get; set;
|
||||
}
|
||||
|
||||
public IAnimationViewModel AnimationViewModel
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
private PageSizeType _pageSizeType = PageSizeType.A4;
|
||||
public PageSizeType PageSizeType
|
||||
{
|
||||
@@ -2971,6 +2976,28 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
public void SetAnimation(IAnimationViewModel animationViewModel, string propertyName, List<SelectableDesignerItemViewModelBase> items)
|
||||
{
|
||||
if (items.Any())
|
||||
{
|
||||
Dictionary<SelectableDesignerItemViewModelBase, object> infos = items.ToDictionary(p => p, p => p.AnimationViewModel.GetPropertyValue(propertyName));
|
||||
DoCommandManager.DoNewCommand(this.ToString(),
|
||||
() => {
|
||||
var value = animationViewModel.GetPropertyValue(propertyName);
|
||||
foreach (var item in items)
|
||||
{
|
||||
item.AnimationViewModel.SetPropertyValue(propertyName, value);
|
||||
}
|
||||
},
|
||||
() => {
|
||||
foreach (var item in infos)
|
||||
{
|
||||
item.Key.AnimationViewModel.SetPropertyValue(propertyName, item.Value);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public void SetQuickItem(IQuickThemeViewModel quickThemeViewModel, string propertyName, List<SelectableDesignerItemViewModelBase> items)
|
||||
{
|
||||
if (propertyName == nameof(QuickTheme) && quickThemeViewModel.QuickTheme != null)
|
||||
@@ -2979,19 +3006,19 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
Dictionary<SelectableDesignerItemViewModelBase, Tuple<object, object, object, object>> infos
|
||||
= items.ToDictionary(p => p, p => new Tuple<object, object, object, object>(
|
||||
p.FontViewModel.GetPropertyValue("FontColor"),
|
||||
p.FontViewModel.GetPropertyValue("Color"),
|
||||
p.ColorViewModel.GetPropertyValue("FillColor"),
|
||||
p.ColorViewModel.GetPropertyValue("LineColor"),
|
||||
p.ColorViewModel.GetPropertyValue("LineWidth")));
|
||||
DoCommandManager.DoNewCommand(this.ToString(),
|
||||
() => {
|
||||
var value1 = quickThemeViewModel.QuickTheme.FontViewModel.GetPropertyValue("FontColor");
|
||||
var value1 = quickThemeViewModel.QuickTheme.FontViewModel.GetPropertyValue("Color");
|
||||
var value2 = quickThemeViewModel.QuickTheme.ColorViewModel.GetPropertyValue("FillColor");
|
||||
var value3 = quickThemeViewModel.QuickTheme.ColorViewModel.GetPropertyValue("LineColor");
|
||||
var value4 = quickThemeViewModel.QuickTheme.ColorViewModel.GetPropertyValue("LineWidth");
|
||||
foreach (var item in items)
|
||||
{
|
||||
item.FontViewModel.SetPropertyValue("FontColor", value1);
|
||||
item.FontViewModel.SetPropertyValue("Color", value1);
|
||||
item.ColorViewModel.SetPropertyValue("FillColor", value2);
|
||||
item.ColorViewModel.SetPropertyValue("LineColor", value3);
|
||||
item.ColorViewModel.SetPropertyValue("LineWidth", value4);
|
||||
@@ -3000,7 +3027,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
() => {
|
||||
foreach (var item in infos)
|
||||
{
|
||||
item.Key.FontViewModel.SetPropertyValue("FontColor", item.Value.Item1);
|
||||
item.Key.FontViewModel.SetPropertyValue("Color", item.Value.Item1);
|
||||
item.Key.ColorViewModel.SetPropertyValue("FillColor", item.Value.Item2);
|
||||
item.Key.ColorViewModel.SetPropertyValue("LineColor", item.Value.Item3);
|
||||
item.Key.ColorViewModel.SetPropertyValue("LineWidth", item.Value.Item4);
|
||||
|
||||
Reference in New Issue
Block a user