This commit is contained in:
艾竹
2023-04-09 18:58:13 +08:00
parent fae7826577
commit 21009fc383
5 changed files with 41 additions and 59 deletions

View File

@@ -12,6 +12,7 @@ using AIStudio.Wpf.DiagramDesigner.Geometrys;
using AIStudio.Wpf.DiagramDesigner.Helpers;
using AIStudio.Wpf.DiagramDesigner.Models;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace AIStudio.Wpf.DiagramDesigner
{
@@ -2813,41 +2814,41 @@ namespace AIStudio.Wpf.DiagramDesigner
{
if (items.Any())
{
Dictionary<SelectableDesignerItemViewModelBase, IFontViewModel> infos = items.ToDictionary(p => p, p => CopyHelper.Mapper(p.FontViewModel));
Dictionary<SelectableDesignerItemViewModelBase, object> infos = items.ToDictionary(p => p, p => p.FontViewModel.GetPropertyValue(propertyName));
DoCommandManager.DoNewCommand(this.ToString(),
() => {
var value = fontViewModel.GetPropertyValue(propertyName);
foreach (var item in items)
{
CopyHelper.CopyPropertyValue(fontViewModel, item.FontViewModel, propertyName);
item.FontViewModel.SetPropertyValue(propertyName, value);
}
},
() => {
foreach (var item in infos)
{
CopyHelper.CopyPropertyValue(item.Value, item.Key.FontViewModel, propertyName);
item.Key.FontViewModel.SetPropertyValue(propertyName, item.Value);
}
});
}
}
public void SetColor(IColorViewModel colorViewModel, string propertyName, List<SelectableDesignerItemViewModelBase> items)
{
if (items.Any())
{
Dictionary<SelectableDesignerItemViewModelBase, IColorViewModel> infos = items.ToDictionary(p => p, p => CopyHelper.Mapper(p.ColorViewModel));
Dictionary<SelectableDesignerItemViewModelBase, object> infos = items.ToDictionary(p => p, p => p.ColorViewModel.GetPropertyValue(propertyName));
DoCommandManager.DoNewCommand(this.ToString(),
() => {
var value = colorViewModel.GetPropertyValue(propertyName);
foreach (var item in items)
{
CopyHelper.CopyPropertyValue(colorViewModel, item.ColorViewModel, propertyName);
item.ColorViewModel.SetPropertyValue(propertyName, value);
}
},
() => {
foreach (var item in infos)
{
CopyHelper.CopyPropertyValue(item.Value, item.Key.ColorViewModel, propertyName);
item.Key.ColorViewModel.SetPropertyValue(propertyName, item.Value);
}
});
}
@@ -2857,18 +2858,19 @@ namespace AIStudio.Wpf.DiagramDesigner
{
if (items.Any())
{
Dictionary<SelectableDesignerItemViewModelBase, IShapeViewModel> infos = items.ToDictionary(p => p, p => CopyHelper.Mapper(p.ShapeViewModel));
Dictionary<SelectableDesignerItemViewModelBase, object> infos = items.ToDictionary(p => p, p => p.ShapeViewModel.GetPropertyValue(propertyName));
DoCommandManager.DoNewCommand(this.ToString(),
() => {
var value = shapeViewModel.GetPropertyValue(propertyName);
foreach (var item in items)
{
CopyHelper.CopyPropertyValue(shapeViewModel, item.ShapeViewModel, propertyName);
item.ShapeViewModel.SetPropertyValue(propertyName, value);
}
},
() => {
foreach (var item in infos)
{
CopyHelper.CopyPropertyValue(item.Value, item.Key.ShapeViewModel, propertyName);
item.Key.ShapeViewModel.SetPropertyValue(propertyName, item.Value);
}
});
}
@@ -2880,24 +2882,33 @@ namespace AIStudio.Wpf.DiagramDesigner
{
if (items.Any())
{
Dictionary<SelectableDesignerItemViewModelBase, Tuple<IFontViewModel, IColorViewModel>> infos = items.ToDictionary(p => p, p => new Tuple<IFontViewModel, IColorViewModel>(CopyHelper.Mapper(p.FontViewModel), CopyHelper.Mapper(p.ColorViewModel)));
Dictionary<SelectableDesignerItemViewModelBase, Tuple<object, object, object, object>> infos
= items.ToDictionary(p => p, p => new Tuple<object, object, object, object>(
p.FontViewModel.GetPropertyValue("FontColor"),
p.ColorViewModel.GetPropertyValue("FillColor"),
p.ColorViewModel.GetPropertyValue("LineColor"),
p.ColorViewModel.GetPropertyValue("LineWidth")));
DoCommandManager.DoNewCommand(this.ToString(),
() => {
var value1 = quickThemeViewModel.QuickTheme.FontViewModel.GetPropertyValue("FontColor");
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)
{
CopyHelper.CopyPropertyValue(quickThemeViewModel.QuickTheme.FontViewModel, item.FontViewModel, "FontColor");
CopyHelper.CopyPropertyValue(quickThemeViewModel.QuickTheme.ColorViewModel, item.ColorViewModel, "FillColor");
CopyHelper.CopyPropertyValue(quickThemeViewModel.QuickTheme.ColorViewModel, item.ColorViewModel, "LineColor");
CopyHelper.CopyPropertyValue(quickThemeViewModel.QuickTheme.ColorViewModel, item.ColorViewModel, "LineWidth");
item.FontViewModel.SetPropertyValue("FontColor", value1);
item.ColorViewModel.SetPropertyValue("FillColor", value2);
item.ColorViewModel.SetPropertyValue("LineColor", value3);
item.ColorViewModel.SetPropertyValue("LineWidth", value4);
}
},
() => {
foreach (var item in infos)
{
CopyHelper.CopyPropertyValue(item.Value.Item1, item.Key.FontViewModel, "FontColor");
CopyHelper.CopyPropertyValue(item.Value.Item2, item.Key.ColorViewModel, "FillColor");
CopyHelper.CopyPropertyValue(item.Value.Item2, item.Key.ColorViewModel, "LineColor");
CopyHelper.CopyPropertyValue(item.Value.Item2, item.Key.ColorViewModel, "LineWidth");
item.Key.FontViewModel.SetPropertyValue("FontColor", 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);
}
});
}