整理一下项目文件

This commit is contained in:
艾竹
2022-10-28 22:45:39 +08:00
parent 334297b074
commit 513937c1d6
598 changed files with 684 additions and 544 deletions

View File

@@ -0,0 +1,81 @@
using AIStudio.Wpf.DiagramHelper.Services;
using System.Globalization;
using System.Windows;
using System.Windows.Media;
using AIStudio.Wpf.DiagramDesigner;
namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
{
public class OutLineTextDesignerItemViewModel : TextDesignerItemViewModel
{
private IUIVisualizerService visualiserService;
public OutLineTextDesignerItemViewModel(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
{
}
public OutLineTextDesignerItemViewModel() : base()
{
}
protected override void Init()
{
base.Init();
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
FontViewModel.FontFamily = "Arial";
FontViewModel.FontSize = 36;
}
public void AutoSize()
{
var size = MeasureString();
ItemWidth = size.Width;
ItemHeight = size.Height;
}
private Size MeasureString()
{
var formattedText = new FormattedText(
Text,
CultureInfo.CurrentUICulture,
FlowDirection.LeftToRight,
new Typeface(new FontFamily(FontViewModel.FontFamily), FontViewModel.FontStyle, FontViewModel.FontWeight, FontViewModel.FontStretch),
FontViewModel.FontSize,
Brushes.Black);
return new Size(formattedText.Width, formattedText.Height);
}
protected override void ExecuteEditCommand(object parameter)
{
EditData();
}
public override bool InitData()
{
if (string.IsNullOrEmpty(Text))
return EditData();
return true;
}
public override bool EditData()
{
if (IsReadOnly == true) return false;
OutLineTextDesignerItemData data = new OutLineTextDesignerItemData(this);
if (visualiserService.ShowDialog(data) == true)
{
Text = data.Text;
FontViewModel = CopyHelper.Mapper<FontViewModel, IFontViewModel>(data.FontViewModel);
AutoSize();
return true;
}
return false;
}
}
}