mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-18 15:36:36 +08:00
暂存一下
This commit is contained in:
@@ -13,14 +13,21 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
private Thumb zoomThumb;
|
||||
private Canvas zoomCanvas;
|
||||
private Slider zoomSlider;
|
||||
private DiagramControl diagramControl;
|
||||
|
||||
#region DPs
|
||||
|
||||
#region ScrollViewer
|
||||
public ScrollViewer ScrollViewer
|
||||
{
|
||||
get { return (ScrollViewer)GetValue(ScrollViewerProperty); }
|
||||
set { SetValue(ScrollViewerProperty, value); }
|
||||
get
|
||||
{
|
||||
return (ScrollViewer)GetValue(ScrollViewerProperty);
|
||||
}
|
||||
set
|
||||
{
|
||||
SetValue(ScrollViewerProperty, value);
|
||||
}
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty ScrollViewerProperty =
|
||||
@@ -38,8 +45,14 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
public DesignerCanvas DesignerCanvas
|
||||
{
|
||||
get { return (DesignerCanvas)GetValue(DesignerCanvasProperty); }
|
||||
set { SetValue(DesignerCanvasProperty, value); }
|
||||
get
|
||||
{
|
||||
return (DesignerCanvas)GetValue(DesignerCanvasProperty);
|
||||
}
|
||||
set
|
||||
{
|
||||
SetValue(DesignerCanvasProperty, value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -47,7 +60,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
ZoomBox target = (ZoomBox)d;
|
||||
DesignerCanvas oldDesignerCanvas = (DesignerCanvas)e.OldValue;
|
||||
DesignerCanvas newDesignerCanvas = target.DesignerCanvas;
|
||||
DesignerCanvas newDesignerCanvas = (DesignerCanvas)e.NewValue;
|
||||
target.OnDesignerCanvasChanged(oldDesignerCanvas, newDesignerCanvas);
|
||||
}
|
||||
|
||||
@@ -69,7 +82,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
#endregion
|
||||
|
||||
public static readonly DependencyProperty ZoomValueProperty =
|
||||
public static readonly DependencyProperty ZoomValueProperty =
|
||||
DependencyProperty.Register(nameof(ZoomValue), typeof(double), typeof(ZoomBox), new UIPropertyMetadata(1d));
|
||||
public double ZoomValue
|
||||
{
|
||||
@@ -94,6 +107,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
DesignerCanvas = VisualHelper.FindChild<DesignerCanvas>(this.ScrollViewer);
|
||||
|
||||
diagramControl = VisualHelper.FindChild<DiagramControl>(this.ScrollViewer);
|
||||
|
||||
this.zoomThumb = Template.FindName("PART_ZoomThumb", this) as Thumb;
|
||||
if (this.zoomThumb == null)
|
||||
throw new Exception("PART_ZoomThumb template is missing!");
|
||||
@@ -148,7 +163,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
private void DesignerCanvas_MouseWheel(object sender, EventArgs e)
|
||||
{
|
||||
MouseWheelEventArgs wheel = (MouseWheelEventArgs)e;
|
||||
|
||||
|
||||
//divide the value by 10 so that it is more smooth
|
||||
double value = Math.Max(0, wheel.Delta / 10);
|
||||
value = Math.Min(wheel.Delta, 10);
|
||||
@@ -157,8 +172,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
private void InvalidateScale(out double scale, out double xOffset, out double yOffset)
|
||||
{
|
||||
double w = DesignerCanvas.ActualWidth * ZoomValue;
|
||||
double h = DesignerCanvas.ActualHeight * ZoomValue;
|
||||
Vector vector = System.Windows.Media.VisualTreeHelper.GetOffset(diagramControl);
|
||||
double w = DesignerCanvas.ActualWidth * ZoomValue + vector.X * 2;
|
||||
double h = DesignerCanvas.ActualHeight * ZoomValue + vector.Y * 2;
|
||||
|
||||
// zoom canvas size
|
||||
double x = this.zoomCanvas.ActualWidth;
|
||||
|
||||
@@ -98,10 +98,10 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
||||
get; set;
|
||||
}
|
||||
|
||||
public RectangleBase GetChildRectangle()
|
||||
{
|
||||
//Children.Select(p => p.Size)
|
||||
}
|
||||
//public RectangleBase GetChildRectangle()
|
||||
//{
|
||||
// //Children.Select(p => p.Size)
|
||||
//}
|
||||
}
|
||||
|
||||
public class MindLevel2Node : MindNode
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project>
|
||||
<!-- Project properties -->
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>netcoreapp3.1;net5.0-windows</TargetFrameworks>
|
||||
<TargetFrameworks>net461;netcoreapp3.1;net5.0-windows</TargetFrameworks>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
||||
Reference in New Issue
Block a user