暂存一下

This commit is contained in:
艾竹
2023-02-14 21:55:42 +08:00
parent d6e84d40c0
commit 38cb0fae85
3 changed files with 30 additions and 14 deletions

View File

@@ -13,14 +13,21 @@ namespace AIStudio.Wpf.DiagramDesigner
private Thumb zoomThumb; private Thumb zoomThumb;
private Canvas zoomCanvas; private Canvas zoomCanvas;
private Slider zoomSlider; private Slider zoomSlider;
private DiagramControl diagramControl;
#region DPs #region DPs
#region ScrollViewer #region ScrollViewer
public ScrollViewer ScrollViewer public ScrollViewer ScrollViewer
{ {
get { return (ScrollViewer)GetValue(ScrollViewerProperty); } get
set { SetValue(ScrollViewerProperty, value); } {
return (ScrollViewer)GetValue(ScrollViewerProperty);
}
set
{
SetValue(ScrollViewerProperty, value);
}
} }
public static readonly DependencyProperty ScrollViewerProperty = public static readonly DependencyProperty ScrollViewerProperty =
@@ -38,8 +45,14 @@ namespace AIStudio.Wpf.DiagramDesigner
public DesignerCanvas DesignerCanvas public DesignerCanvas DesignerCanvas
{ {
get { return (DesignerCanvas)GetValue(DesignerCanvasProperty); } get
set { SetValue(DesignerCanvasProperty, value); } {
return (DesignerCanvas)GetValue(DesignerCanvasProperty);
}
set
{
SetValue(DesignerCanvasProperty, value);
}
} }
@@ -47,7 +60,7 @@ namespace AIStudio.Wpf.DiagramDesigner
{ {
ZoomBox target = (ZoomBox)d; ZoomBox target = (ZoomBox)d;
DesignerCanvas oldDesignerCanvas = (DesignerCanvas)e.OldValue; DesignerCanvas oldDesignerCanvas = (DesignerCanvas)e.OldValue;
DesignerCanvas newDesignerCanvas = target.DesignerCanvas; DesignerCanvas newDesignerCanvas = (DesignerCanvas)e.NewValue;
target.OnDesignerCanvasChanged(oldDesignerCanvas, newDesignerCanvas); target.OnDesignerCanvasChanged(oldDesignerCanvas, newDesignerCanvas);
} }
@@ -69,7 +82,7 @@ namespace AIStudio.Wpf.DiagramDesigner
#endregion #endregion
public static readonly DependencyProperty ZoomValueProperty = public static readonly DependencyProperty ZoomValueProperty =
DependencyProperty.Register(nameof(ZoomValue), typeof(double), typeof(ZoomBox), new UIPropertyMetadata(1d)); DependencyProperty.Register(nameof(ZoomValue), typeof(double), typeof(ZoomBox), new UIPropertyMetadata(1d));
public double ZoomValue public double ZoomValue
{ {
@@ -94,6 +107,8 @@ namespace AIStudio.Wpf.DiagramDesigner
DesignerCanvas = VisualHelper.FindChild<DesignerCanvas>(this.ScrollViewer); DesignerCanvas = VisualHelper.FindChild<DesignerCanvas>(this.ScrollViewer);
diagramControl = VisualHelper.FindChild<DiagramControl>(this.ScrollViewer);
this.zoomThumb = Template.FindName("PART_ZoomThumb", this) as Thumb; this.zoomThumb = Template.FindName("PART_ZoomThumb", this) as Thumb;
if (this.zoomThumb == null) if (this.zoomThumb == null)
throw new Exception("PART_ZoomThumb template is missing!"); throw new Exception("PART_ZoomThumb template is missing!");
@@ -148,7 +163,7 @@ namespace AIStudio.Wpf.DiagramDesigner
private void DesignerCanvas_MouseWheel(object sender, EventArgs e) private void DesignerCanvas_MouseWheel(object sender, EventArgs e)
{ {
MouseWheelEventArgs wheel = (MouseWheelEventArgs)e; MouseWheelEventArgs wheel = (MouseWheelEventArgs)e;
//divide the value by 10 so that it is more smooth //divide the value by 10 so that it is more smooth
double value = Math.Max(0, wheel.Delta / 10); double value = Math.Max(0, wheel.Delta / 10);
value = Math.Min(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) private void InvalidateScale(out double scale, out double xOffset, out double yOffset)
{ {
double w = DesignerCanvas.ActualWidth * ZoomValue; Vector vector = System.Windows.Media.VisualTreeHelper.GetOffset(diagramControl);
double h = DesignerCanvas.ActualHeight * ZoomValue; double w = DesignerCanvas.ActualWidth * ZoomValue + vector.X * 2;
double h = DesignerCanvas.ActualHeight * ZoomValue + vector.Y * 2;
// zoom canvas size // zoom canvas size
double x = this.zoomCanvas.ActualWidth; double x = this.zoomCanvas.ActualWidth;

View File

@@ -98,10 +98,10 @@ namespace AIStudio.Wpf.Mind.ViewModels
get; set; get; set;
} }
public RectangleBase GetChildRectangle() //public RectangleBase GetChildRectangle()
{ //{
//Children.Select(p => p.Size) // //Children.Select(p => p.Size)
} //}
} }
public class MindLevel2Node : MindNode public class MindLevel2Node : MindNode

View File

@@ -1,7 +1,7 @@
<Project> <Project>
<!-- Project properties --> <!-- Project properties -->
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netcoreapp3.1;net5.0-windows</TargetFrameworks> <TargetFrameworks>net461;netcoreapp3.1;net5.0-windows</TargetFrameworks>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">