mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-14 13:16:38 +08:00
实际尺寸之间转换
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.31" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
<PackageReference Include="SvgPathProperties" Version="1.1.2" />
|
||||
<PackageReference Include="System.Management" Version="7.0.0" />
|
||||
<PackageReference Include="System.Reactive" Version="5.0.0" />
|
||||
<PackageReference Include="WpfAnimatedGif" Version="2.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -6,32 +6,7 @@ using System.Text;
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public enum PageSizeType
|
||||
{
|
||||
|
||||
[Description("Letter,8.5英寸*11英寸")]//612*792
|
||||
Letter,
|
||||
[Description("Folio,8.5英寸*13英寸")]//612*936
|
||||
Folio,
|
||||
[Description("Folio,8.5英寸*14英寸")]//612*1008
|
||||
Legal,
|
||||
[Description("Folio,7.25英寸*10.5英寸")]//522*756
|
||||
Executive,
|
||||
[Description("Folio,5.5英寸*8.5英寸")]//396*612
|
||||
Statement,
|
||||
[Description("#10 Envelope,4.125英寸*9.5英寸")]//297*684
|
||||
Envelope,
|
||||
[Description("Monarch Envelope,3.875英寸*7.5英寸")]//279*540
|
||||
MonarchEnvelope,
|
||||
[Description("Tabloid,11英寸*17英寸")]//792*1224
|
||||
Tabloid,
|
||||
[Description("Letter Small,8 1/2英寸*11英寸")]//612*792
|
||||
LetterSmall,
|
||||
[Description("C Sheet,17英寸*22英寸")]//1224*1584
|
||||
CSheet,
|
||||
[Description("D Sheet,22英寸*34英寸")]//1584*2448
|
||||
DSheet,
|
||||
[Description("E Sheet,34英寸*44英寸")]//2448*3168
|
||||
ESheet,
|
||||
{
|
||||
[Description("A3 sheet,297毫米*420毫米")]//842*1191
|
||||
A3,
|
||||
[Description("A4 sheet,210毫米*297毫米")]//595*842
|
||||
@@ -68,6 +43,30 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
//JapanesePostcard,
|
||||
//[Description("Double Japanese Postcard")]//420*566
|
||||
//DoubleJapanesePostcard,
|
||||
[Description("Letter,8.5英寸*11英寸")]//612*792
|
||||
Letter,
|
||||
[Description("Folio,8.5英寸*13英寸")]//612*936
|
||||
Folio,
|
||||
[Description("Folio,8.5英寸*14英寸")]//612*1008
|
||||
Legal,
|
||||
[Description("Folio,7.25英寸*10.5英寸")]//522*756
|
||||
Executive,
|
||||
[Description("Folio,5.5英寸*8.5英寸")]//396*612
|
||||
Statement,
|
||||
[Description("#10 Envelope,4.125英寸*9.5英寸")]//297*684
|
||||
Envelope,
|
||||
[Description("Monarch Envelope,3.875英寸*7.5英寸")]//279*540
|
||||
MonarchEnvelope,
|
||||
[Description("Tabloid,11英寸*17英寸")]//792*1224
|
||||
Tabloid,
|
||||
[Description("Letter Small,8 1/2英寸*11英寸")]//612*792
|
||||
LetterSmall,
|
||||
[Description("C Sheet,17英寸*22英寸")]//1224*1584
|
||||
CSheet,
|
||||
[Description("D Sheet,22英寸*34英寸")]//1584*2448
|
||||
DSheet,
|
||||
[Description("E Sheet,34英寸*44英寸")]//2448*3168
|
||||
ESheet,
|
||||
[Description("自定义")]
|
||||
Custom,
|
||||
}
|
||||
|
||||
@@ -1,11 +1,23 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using Microsoft.Win32;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Management;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Drawing;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public static class ScreenHelper
|
||||
{
|
||||
public static double ScreenScale;
|
||||
public static double MmToPixelsWidth;
|
||||
static ScreenHelper()
|
||||
{
|
||||
ScreenScale = ResetScreenScale();
|
||||
MmToPixelsWidth = MillimetersToPixelsWidth(1);
|
||||
}
|
||||
|
||||
|
||||
[DllImport("user32.dll", EntryPoint = "ReleaseDC")]
|
||||
public static extern IntPtr ReleaseDC(
|
||||
IntPtr hWnd,
|
||||
@@ -44,5 +56,94 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return physicalScreenWidth * 1.0000 / System.Windows.SystemParameters.PrimaryScreenWidth;
|
||||
}
|
||||
}
|
||||
|
||||
//public static List<string> GetMonitorPnpDeviceId()
|
||||
//{
|
||||
// List<string> rt = new List<string>();
|
||||
|
||||
// using (ManagementClass mc = new ManagementClass("Win32_DesktopMonitor"))
|
||||
// {
|
||||
// using (ManagementObjectCollection moc = mc.GetInstances())
|
||||
// {
|
||||
// foreach (var o in moc)
|
||||
// {
|
||||
// var each = (ManagementObject)o;
|
||||
// object obj = each.Properties["PNPDeviceID"].Value;
|
||||
// if (obj == null)
|
||||
// continue;
|
||||
|
||||
// rt.Add(each.Properties["PNPDeviceID"].Value.ToString());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// return rt;
|
||||
//}
|
||||
|
||||
//public static byte[] GetMonitorEdid(string monitorPnpDevId)
|
||||
//{
|
||||
// return (byte[])Registry.GetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\" + monitorPnpDevId + @"\Device Parameters", "EDID", new byte[] { });
|
||||
//}
|
||||
|
||||
////获取显示器物理尺寸(cm)
|
||||
//public static SizeF GetMonitorPhysicalSize(string monitorPnpDevId)
|
||||
//{
|
||||
// byte[] edid = GetMonitorEdid(monitorPnpDevId);
|
||||
// if (edid.Length < 23)
|
||||
// return SizeF.Empty;
|
||||
|
||||
// return new SizeF(edid[21], edid[22]);
|
||||
//}
|
||||
|
||||
//通过屏显示器理尺寸转换为显示器大小(inch)
|
||||
public static float MonitorScaler(SizeF moniPhySize)
|
||||
{
|
||||
double mDSize = Math.Sqrt(Math.Pow(moniPhySize.Width, 2) + Math.Pow(moniPhySize.Height, 2)) / 2.54d;
|
||||
return (float)Math.Round(mDSize, 1);
|
||||
}
|
||||
|
||||
public static double MillimetersToPixelsWidth(double length) //length是毫米,1厘米=10毫米
|
||||
{
|
||||
//System.Windows.Forms.Panel p = new System.Windows.Forms.Panel();
|
||||
System.Drawing.Graphics g = System.Drawing.Graphics.FromHwnd(IntPtr.Zero);
|
||||
IntPtr hdc = g.GetHdc();
|
||||
int width = GetDeviceCaps(hdc, 4); // HORZRES
|
||||
int pixels = GetDeviceCaps(hdc, 8); // BITSPIXEL
|
||||
g.ReleaseHdc(hdc);
|
||||
return (((double)pixels / (double)width) * (double)length);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static double MmToWidth(double length) //length是毫米,1厘米=10毫米
|
||||
{
|
||||
return MmToPixelsWidth * length / ScreenScale;
|
||||
}
|
||||
|
||||
public static double WidthToMm(double length)
|
||||
{
|
||||
return ScreenScale * length / MmToPixelsWidth;
|
||||
}
|
||||
|
||||
public static double CmToWidth(double length) //length是毫米,1厘米=10毫米
|
||||
{
|
||||
return MmToPixelsWidth * length * 10d/ ScreenScale;
|
||||
}
|
||||
|
||||
public static double WidthToCm(double length)
|
||||
{
|
||||
return ScreenScale * length / (MmToPixelsWidth * 10d);
|
||||
}
|
||||
|
||||
public static double InchToWidth(double length) //length是英寸,1英寸=2.54cm
|
||||
{
|
||||
return MmToPixelsWidth * length * 10d * 2.54d / ScreenScale;
|
||||
}
|
||||
|
||||
public static double WidthToInch(double length) //length是英寸,1英寸=2.54cm
|
||||
{
|
||||
return ScreenScale * length / (MmToPixelsWidth * 10d * 2.54d);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,21 +22,20 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
public ConnectorInfoItemBase(ConnectorInfoBase viewmodel) : base(viewmodel)
|
||||
{
|
||||
ConnectorWidth = viewmodel.ConnectorWidth;
|
||||
ConnectorHeight = viewmodel.ConnectorHeight;
|
||||
PhysicalConnectorWidth = viewmodel.PhysicalConnectorWidth;
|
||||
PhysicalConnectorHeight = viewmodel.PhysicalConnectorHeight;
|
||||
Orientation = viewmodel.Orientation;
|
||||
ConnectorValue = viewmodel.ConnectorValue;
|
||||
}
|
||||
|
||||
|
||||
[XmlAttribute]
|
||||
public double ConnectorWidth
|
||||
public double PhysicalConnectorWidth
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double ConnectorHeight
|
||||
public double PhysicalConnectorHeight
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
@@ -47,11 +46,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double ConnectorValue
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
public LogicalConnectorInfoItem(LogicalConnectorInfo viewmodel) : base(viewmodel)
|
||||
{
|
||||
ValueTypePoint = viewmodel.ValueTypePoint;
|
||||
ConnectorValue = viewmodel.ConnectorValue;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
@@ -28,6 +29,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double ConnectorValue
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -20,13 +20,13 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
public DesignerItemBase(DesignerItemViewModelBase viewmodel, string reserve = null) : base(viewmodel)
|
||||
{
|
||||
this.Left = viewmodel.Left;
|
||||
this.Top = viewmodel.Top;
|
||||
this.PhysicalLeft = viewmodel.PhysicalLeft;
|
||||
this.PhysicalTop = viewmodel.PhysicalTop;
|
||||
this.Angle = viewmodel.Angle;
|
||||
this.ScaleX = viewmodel.ScaleX;
|
||||
this.ScaleY = viewmodel.ScaleY;
|
||||
this.ItemWidth = viewmodel.ItemWidth;
|
||||
this.ItemHeight = viewmodel.ItemHeight;
|
||||
this.PhysicalItemWidth = viewmodel.PhysicalItemWidth;
|
||||
this.PhysicalItemHeight = viewmodel.PhysicalItemHeight;
|
||||
this.Icon = viewmodel.Icon;
|
||||
this.ItemTypeName = viewmodel.GetType().FullName;
|
||||
this.Margin = viewmodel.Margin;
|
||||
@@ -34,37 +34,70 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double Left { get; set; }
|
||||
public double PhysicalLeft
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double Top { get; set; }
|
||||
public double PhysicalTop
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double Angle { get; set; }
|
||||
public double Angle
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double ScaleX { get; set; }
|
||||
public double ScaleX
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double ScaleY { get; set; }
|
||||
public double ScaleY
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double Margin { get; set; }
|
||||
public double Margin
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double ItemWidth { get; set; }
|
||||
public double PhysicalItemWidth
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double ItemHeight { get; set; }
|
||||
public double PhysicalItemHeight
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public string Icon { get; set; }
|
||||
public string Icon
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public string Reserve { get; set; }
|
||||
public string Reserve
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public string ItemTypeName { get; set; }
|
||||
public string ItemTypeName
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -53,10 +53,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
if (designerbase is ConnectorInfoItemBase designer)
|
||||
{
|
||||
ConnectorWidth = designer.ConnectorWidth;
|
||||
ConnectorHeight = designer.ConnectorHeight;
|
||||
PhysicalConnectorWidth = designer.PhysicalConnectorWidth;
|
||||
PhysicalConnectorHeight = designer.PhysicalConnectorHeight;
|
||||
Orientation = designer.Orientation;
|
||||
ConnectorValue = designer.ConnectorValue;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,44 +86,61 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
private double connectorWidth = 8;
|
||||
private double _connectorWidth = 8;
|
||||
public double ConnectorWidth
|
||||
{
|
||||
get
|
||||
{
|
||||
return connectorWidth;
|
||||
return _connectorWidth;
|
||||
}
|
||||
set
|
||||
{
|
||||
connectorWidth = value;
|
||||
if (SetProperty(ref _connectorWidth, value))
|
||||
{
|
||||
RaisePropertyChanged(nameof(PhysicalConnectorWidth));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private double connectorHeight = 8;
|
||||
private double _connectorHeight = 8;
|
||||
public double ConnectorHeight
|
||||
{
|
||||
get
|
||||
{
|
||||
return connectorHeight;
|
||||
return _connectorHeight;
|
||||
}
|
||||
set
|
||||
{
|
||||
connectorHeight = value;
|
||||
if (SetProperty(ref _connectorHeight, value))
|
||||
{
|
||||
RaisePropertyChanged(nameof(PhysicalConnectorHeight));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public double _connectorValue;
|
||||
public double ConnectorValue
|
||||
public double PhysicalConnectorWidth
|
||||
{
|
||||
get
|
||||
{
|
||||
return _connectorValue;
|
||||
return ConnectorWidth * (Root?.ScreenScale ?? 1d);
|
||||
}
|
||||
set
|
||||
{
|
||||
SetProperty(ref _connectorValue, value);
|
||||
ConnectorWidth = value / (Root?.ScreenScale ?? 1d);
|
||||
}
|
||||
}
|
||||
|
||||
public double PhysicalConnectorHeight
|
||||
{
|
||||
get
|
||||
{
|
||||
return ConnectorHeight * (Root?.ScreenScale ?? 1d);
|
||||
}
|
||||
set
|
||||
{
|
||||
ConnectorHeight = value / (Root?.ScreenScale ?? 1d);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,10 +36,24 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
if (designerbase is LogicalConnectorInfoItem designer)
|
||||
{
|
||||
ConnectorValue = designer.ConnectorValue;
|
||||
ValueTypePoint = designer.ValueTypePoint;
|
||||
}
|
||||
}
|
||||
|
||||
public double _connectorValue;
|
||||
public double ConnectorValue
|
||||
{
|
||||
get
|
||||
{
|
||||
return _connectorValue;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetProperty(ref _connectorValue, value);
|
||||
}
|
||||
}
|
||||
|
||||
public ValueTypePoint _valueTypePoint;
|
||||
public ValueTypePoint ValueTypePoint
|
||||
{
|
||||
|
||||
@@ -51,13 +51,13 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
if (designerbase is DesignerItemBase designer)
|
||||
{
|
||||
this.Left = designer.Left;
|
||||
this.Top = designer.Top;
|
||||
this.PhysicalLeft = designer.PhysicalLeft;
|
||||
this.PhysicalTop = designer.PhysicalTop;
|
||||
this.Angle = designer.Angle;
|
||||
this.ScaleX = designer.ScaleX;
|
||||
this.ScaleY = designer.ScaleY;
|
||||
this.ItemWidth = designer.ItemWidth;
|
||||
this.ItemHeight = designer.ItemHeight;
|
||||
this.PhysicalItemWidth = designer.PhysicalItemWidth;
|
||||
this.PhysicalItemHeight = designer.PhysicalItemHeight;
|
||||
this.Icon = designer.Icon;
|
||||
}
|
||||
}
|
||||
@@ -191,12 +191,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
set
|
||||
{
|
||||
if (value <= 0) return;
|
||||
|
||||
if (this is GroupDesignerItemViewModel && value < 70)
|
||||
if (SetProperty(ref _itemWidth, value))
|
||||
{
|
||||
|
||||
RaisePropertyChanged(nameof(PhysicalItemWidth));
|
||||
}
|
||||
SetProperty(ref _itemWidth, value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -212,7 +210,36 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
set
|
||||
{
|
||||
if (value <= 0) return;
|
||||
SetProperty(ref _itemHeight, value);
|
||||
if (SetProperty(ref _itemHeight, value))
|
||||
{
|
||||
RaisePropertyChanged(nameof(PhysicalItemHeight));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Browsable(true)]
|
||||
public double PhysicalItemWidth
|
||||
{
|
||||
get
|
||||
{
|
||||
return ItemWidth * (Root?.ScreenScale ?? 1d);
|
||||
}
|
||||
set
|
||||
{
|
||||
ItemWidth = value / (Root?.ScreenScale ?? 1d);
|
||||
}
|
||||
}
|
||||
|
||||
[Browsable(true)]
|
||||
public double PhysicalItemHeight
|
||||
{
|
||||
get
|
||||
{
|
||||
return ItemHeight * (Root?.ScreenScale ?? 1d);
|
||||
}
|
||||
set
|
||||
{
|
||||
ItemHeight = value / (Root?.ScreenScale ?? 1d);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -310,6 +337,32 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
[Browsable(true)]
|
||||
public double PhysicalLeft
|
||||
{
|
||||
get
|
||||
{
|
||||
return Left * (Root?.ScreenScale ?? 1d);
|
||||
}
|
||||
set
|
||||
{
|
||||
Left = value / (Root?.ScreenScale ?? 1d);
|
||||
}
|
||||
}
|
||||
|
||||
[Browsable(true)]
|
||||
public double PhysicalTop
|
||||
{
|
||||
get
|
||||
{
|
||||
return Top * (Root?.ScreenScale ?? 1d);
|
||||
}
|
||||
set
|
||||
{
|
||||
Top = value / (Root?.ScreenScale ?? 1d);
|
||||
}
|
||||
}
|
||||
|
||||
public PointBase Position
|
||||
{
|
||||
get
|
||||
|
||||
@@ -112,38 +112,40 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
public Size GetPageSize()
|
||||
{
|
||||
Size size = _pageSize;
|
||||
switch (PageSizeType)
|
||||
{
|
||||
case PageSizeType.Letter: return new Size(612, 792);
|
||||
case PageSizeType.Folio: return new Size(612, 936);
|
||||
case PageSizeType.Legal: return new Size(612, 1008);
|
||||
case PageSizeType.Executive: return new Size(522, 756);
|
||||
case PageSizeType.Statement: return new Size(396, 612);
|
||||
case PageSizeType.Envelope: return new Size(297, 684);
|
||||
case PageSizeType.MonarchEnvelope: return new Size(279, 540);
|
||||
case PageSizeType.Tabloid: return new Size(792, 1224);
|
||||
case PageSizeType.LetterSmall: return new Size(612, 792);
|
||||
case PageSizeType.CSheet: return new Size(1224, 1584);
|
||||
case PageSizeType.DSheet: return new Size(1584, 2448);
|
||||
case PageSizeType.ESheet: return new Size(2448, 3168);
|
||||
case PageSizeType.A3: return new Size(842, 1191);
|
||||
case PageSizeType.A4: return new Size(595, 842);
|
||||
case PageSizeType.A5: return new Size(420, 595);
|
||||
case PageSizeType.B4: return new Size(709, 1003);
|
||||
case PageSizeType.B5: return new Size(516, 729);
|
||||
case PageSizeType.DLEnvelope: return new Size(312, 624);
|
||||
case PageSizeType.C5Envelope: return new Size(459, 649);
|
||||
case PageSizeType.Quarto: return new Size(609, 780);
|
||||
case PageSizeType.C6Quarto: return new Size(323, 459);
|
||||
case PageSizeType.B5Quarto: return new Size(499, 709);
|
||||
case PageSizeType.ItalyQuarto: return new Size(312, 652);
|
||||
case PageSizeType.A4small: return new Size(595, 842);
|
||||
case PageSizeType.GermanStdFanfold: return new Size(612, 864);
|
||||
case PageSizeType.GermanLegalFanfold: return new Size(576, 936);
|
||||
case PageSizeType.PRC16K: return new Size(414, 609);
|
||||
case PageSizeType.PRC32K: return new Size(275, 428);
|
||||
default: return _pageSize;
|
||||
{
|
||||
case PageSizeType.A3: size = new Size(297, 420); break;
|
||||
case PageSizeType.A4: size = new Size(210, 297); break;
|
||||
case PageSizeType.A5: size = new Size(148, 210); break;
|
||||
case PageSizeType.B4: size = new Size(257, 364); break;
|
||||
case PageSizeType.B5: size = new Size(176, 250); break;
|
||||
case PageSizeType.DLEnvelope: size = new Size(110, 220); break;
|
||||
case PageSizeType.C5Envelope: size = new Size(162, 229); break;
|
||||
case PageSizeType.Quarto: size = new Size(215, 275); break;
|
||||
case PageSizeType.C6Quarto: size = new Size(114, 162); break;
|
||||
case PageSizeType.B5Quarto: size = new Size(176, 250); break;
|
||||
case PageSizeType.ItalyQuarto: size = new Size(110, 230); break;
|
||||
case PageSizeType.A4small: size = new Size(210, 297); break;
|
||||
case PageSizeType.GermanStdFanfold: size = new Size(215.9, 304.8); break;
|
||||
case PageSizeType.GermanLegalFanfold: size = new Size(203.2, 330.2); break;
|
||||
case PageSizeType.PRC16K: size = new Size(146, 215); break;
|
||||
case PageSizeType.PRC32K: size = new Size(97, 151); break;
|
||||
case PageSizeType.Letter: size = new Size(215.9, 279.4); break;
|
||||
case PageSizeType.Folio: size = new Size(215.9, 330.2); break;
|
||||
case PageSizeType.Legal: size = new Size(215.9, 355.6); break;
|
||||
case PageSizeType.Executive: size = new Size(184.15, 266.7); break;
|
||||
case PageSizeType.Statement: size = new Size(139.7, 215.9); break;
|
||||
case PageSizeType.Envelope: size = new Size(104.77, 241.3); break;
|
||||
case PageSizeType.MonarchEnvelope: size = new Size(98.425, 190.5); break;
|
||||
case PageSizeType.Tabloid: size = new Size(279.4, 431.8); break;
|
||||
case PageSizeType.LetterSmall: size = new Size(215.9, 279.4); break;
|
||||
case PageSizeType.CSheet: size = new Size(431.8, 558.8); break;
|
||||
case PageSizeType.DSheet: size = new Size(558.8, 863.6); break;
|
||||
case PageSizeType.ESheet: size = new Size(863.6, 1117.6); break;
|
||||
}
|
||||
|
||||
return new Size(ScreenHelper.MmToWidth(size.Width), ScreenHelper.MmToWidth(size.Height));
|
||||
}
|
||||
|
||||
private PageSizeOrientation _pageSizeOrientation;
|
||||
@@ -599,6 +601,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
private DoCommandManager DoCommandManager = new DoCommandManager();
|
||||
public DiagramViewModel()
|
||||
{
|
||||
SetScreenScale();
|
||||
|
||||
CreateNewDiagramCommand = new SimpleCommand(ExecuteEnable, ExecuteCreateNewDiagramCommand);
|
||||
AddItemCommand = new SimpleCommand(ExecuteEnable, ExecuteAddItemCommand);
|
||||
DirectAddItemCommand = new SimpleCommand(ExecuteEnable, ExecuteDirectAddItemCommand);
|
||||
@@ -1464,7 +1468,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
OffsetX += 10;
|
||||
OffsetY += 10;
|
||||
|
||||
@@ -1511,7 +1515,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
System.Windows.MessageBox.Show(e.StackTrace, e.Message, System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private bool ItemsToDeleteHasConnector(List<SelectableDesignerItemViewModelBase> itemsToRemove, ConnectorInfoBase connector)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user