From 303e6180d4f3d88e0feafc9515cae3be8117d2e7 Mon Sep 17 00:00:00 2001
From: chr <chrry550@163.com>
Date: 星期四, 07 三月 2024 16:30:18 +0800
Subject: [PATCH] 添加不同平台的行尾文件;
---
UI/WorkControl.xaml.cs | 504 +++++++++++++++++++++++++++++++------------------------
1 files changed, 280 insertions(+), 224 deletions(-)
diff --git a/UI/WorkControl.xaml.cs b/UI/WorkControl.xaml.cs
index 0e58efc..eecf439 100644
--- a/UI/WorkControl.xaml.cs
+++ b/UI/WorkControl.xaml.cs
@@ -1,231 +1,287 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Media;
-using WPFProject.Controls;
-using WPFProject.Models;
-using WPFProject.UI.Test;
-using WPFProject.Utils;
-
-namespace WPFProject.UI
-{
- /// <summary>
- /// WorkControl.xaml 鐨勪氦浜掗�昏緫
- /// </summary>
- public partial class WorkControl : UserControl,IPlugin
- {
- public WorkControl()
- {
- InitializeComponent();
- Loaded += UserControl_Loaded;
- }
-
- private List<CanvasPosition> InitGridSize()
- {
- List<CanvasPosition> result = new List<CanvasPosition>();
- result.Add(new CanvasPosition
- {
- Left = 0,
- Top = 0,
- Width = 0.1 * ActualWidth -2,
- Height = 0.5 * ActualHeight - 2
- });
- result.Add(new CanvasPosition
- {
- Left = 0.1*ActualWidth +2,
- Top = 0,
- Width = 0.5* ActualWidth -4,
- Height = ActualHeight,
- });
-
- result.Add(new CanvasPosition
- {
- Left = 0.6*ActualWidth+2,
- Top = 0,
- Width = 0.4*ActualWidth-2,
- Height = 0.5 * ActualHeight - 2
- });
-
- result.Add(new CanvasPosition
- {
- Left = 0,
- Top = 0.5*ActualHeight+2,
- Width = 0.1 * ActualWidth - 2,
- Height = 0.5 * ActualHeight - 2
- });
-
- result.Add(new CanvasPosition
- {
- Left = 0.6 * ActualWidth + 2,
- Top = 0.5 * ActualHeight + 2,
- Width = 0.4 * ActualWidth - 2,
- Height = 0.5 * ActualHeight - 2
- });
-
- return result;
- }
-
- private void UserControl_Loaded(object sender, RoutedEventArgs e)
- {
- List<CanvasPosition> pos = InitGridSize();
- ProgramList programList = new ProgramList();
- InnerWindow p = new InnerWindow(pos[0])
- {
- Title = "绋嬪簭鍒楄〃",
- Content = programList
- };
- HandleInnerWindow(p);
-
- InnerWindow p1 = new InnerWindow(pos[1])
- {
- Title = "鍥剧墖",
- };
- HandleInnerWindow(p1);
-
- SequnceList sequnceList = new SequnceList();
- programList.ProgramChanged += sequnceList.Selected_Program_Changed;
-
- InnerWindow p2 = new InnerWindow(pos[2])
- {
- Title = "搴忓垪",
- Content = sequnceList
- };
- HandleInnerWindow(p2);
-
- FunctionSetting functionSetting = new FunctionSetting();
- InnerWindow p3 = new InnerWindow(pos[3])
- {
- Title = "鍑芥暟",
- Content = functionSetting
- };
- HandleInnerWindow(p3);
-
- StepSetting stepSetting = new StepSetting();
- InnerWindow p4 = new InnerWindow(pos[4])
- {
- Title = "鍗曟璁剧疆",
- Content = stepSetting
- };
- HandleInnerWindow(p4);
-
-
- SizeChanged += WorkControl_SizeChanged;
- Loaded -= UserControl_Loaded;
-
- }
-
- public int CanvasChildrenCount { get; private set; } = 0;
- private void HandleInnerWindow(InnerWindow inner)
- {
- inner.MinEvent += InnerWindowMin;
- inner.MaxEvent += InnerWindowMax;
- inner.ZIndexEvent += Inner_ZIndexEvent;
- inner.GotFocus += Inner_GotFocus;
- inner.AttachToCanvas(WorkArea);
- inner.Zindex = CanvasChildrenCount++;
+锘縰sing System;
+using System.Collections.Generic;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Media;
+using WPFProject.Controls;
+using WPFProject.Models;
+using WPFProject.UI.Test;
+using WPFProject.Utils;
+
+namespace WPFProject.UI
+{
+ /// <summary>
+ /// WorkControl.xaml 鐨勪氦浜掗�昏緫
+ /// </summary>
+ public partial class WorkControl : UserControl, IPlugin
+ {
+ public WorkControl()
+ {
+ InitializeComponent();
+ Loaded += UserControl_Loaded;
}
+ private List<CanvasPosition> InitGridSize()
+ {
+ List<CanvasPosition> result = new List<CanvasPosition>();
+ result.Add(new CanvasPosition
+ {
+ Left = 0,
+ Top = 0,
+ Width = 0.1 * ActualWidth - 2,
+ Height = 0.5 * ActualHeight - 2
+ });
+ result.Add(new CanvasPosition
+ {
+ Left = 0.1 * ActualWidth + 2,
+ Top = 0,
+ Width = 0.5 * ActualWidth - 4,
+ Height = ActualHeight,
+ });
+
+ result.Add(new CanvasPosition
+ {
+ Left = 0.6 * ActualWidth + 2,
+ Top = 0,
+ Width = 0.4 * ActualWidth - 2,
+ Height = 0.5 * ActualHeight - 2
+ });
+
+ result.Add(new CanvasPosition
+ {
+ Left = 0,
+ Top = 0.5 * ActualHeight + 2,
+ Width = 0.1 * ActualWidth - 2,
+ Height = 0.5 * ActualHeight - 2
+ });
+
+ result.Add(new CanvasPosition
+ {
+ Left = 0.6 * ActualWidth + 2,
+ Top = 0.5 * ActualHeight + 2,
+ Width = 0.4 * ActualWidth - 2,
+ Height = 0.5 * ActualHeight - 2
+ });
+
+ return result;
+ }
+
+ private void UserControl_Loaded(object sender, RoutedEventArgs e)
+ {
+ List<CanvasPosition> pos = InitGridSize();
+ ProgramList programList = new ProgramList();
+ InnerWindow p = new InnerWindow(pos[0])
+ {
+ Title = "绋嬪簭鍒楄〃",
+ Content = programList
+ };
+ HandleInnerWindow(p);
+
+ InnerWindow p1 = new InnerWindow(pos[1])
+ {
+ Title = "鍥剧墖",
+ };
+ HandleInnerWindow(p1);
+
+ SequnceList sequnceList = new SequnceList();
+ programList.ProgramChanged += sequnceList.Selected_Program_Changed;
+
+ InnerWindow p2 = new InnerWindow(pos[2])
+ {
+ Title = "搴忓垪",
+ Content = sequnceList
+ };
+ HandleInnerWindow(p2);
+
+ FunctionSetting functionSetting = new FunctionSetting();
+ InnerWindow p3 = new InnerWindow(pos[3])
+ {
+ Title = "鍑芥暟",
+ Content = functionSetting
+ };
+ HandleInnerWindow(p3);
+
+ StepSetting stepSetting = new StepSetting();
+ InnerWindow p4 = new InnerWindow(pos[4])
+ {
+ Title = "鍗曟璁剧疆",
+ Content = stepSetting
+ };
+ HandleInnerWindow(p4);
+
+
+ SizeChanged += WorkControl_SizeChanged;
+ Loaded -= UserControl_Loaded;
+
+ }
+
+ public int CanvasChildrenCount { get; private set; } = 0;
+
+ #region InnerWindow鎿嶄綔閫昏緫
+ /// <summary>
+ /// 璁剧疆InnerWindow
+ /// </summary>
+ /// <param name="inner"></param>
+ private void HandleInnerWindow(InnerWindow inner)
+ {
+ inner.MinEvent += InnerWindowMin;
+ inner.MaxEvent += InnerWindowMax;
+ inner.ZIndexEvent += Inner_ZIndexEvent;
+ inner.GotFocus += Inner_GotFocus;
+ inner.AttachToCanvas(WorkArea);
+ inner.Zindex = CanvasChildrenCount++;
+ }
+
+ /// <summary>
+ /// InnerWindow鐒︾偣浜嬩欢
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
private void Inner_GotFocus(object sender, RoutedEventArgs e)
{
CanvasHelper.SetTopZIndex(sender as InnerWindow, WorkArea, typeof(InnerWindow));
}
- private void Inner_ZIndexEvent(object sender, EventArgs e)
- {
- CanvasHelper.SetTopZIndex(sender as InnerWindow, WorkArea, typeof(InnerWindow));
- }
-
- private void HandleMinInnerWindow(InnerWindow inner)
- {
- MinInnerWindow min = new MinInnerWindow(inner);
- min.MaxEvent += MinInnerWindowMax;
- min.CloseEvent += MinInnerWindowClose;
- BottomBar.AddMinWindow(min);
- }
-
- private void InnerWindowMin(object sender, System.EventArgs e)
- {
- InnerWindow inner = sender as InnerWindow;
- inner.Visibility = Visibility.Collapsed;
- HandleMinInnerWindow(inner);
- }
-
- private void InnerWindowMax(object sender, System.EventArgs e)
- {
- InnerWindow inner = sender as InnerWindow;
- if (inner.WindowState == WindowState.Maximized)
- {
- Canvas.SetLeft(inner, inner.canvasPosition.Left);
- Canvas.SetTop(inner, inner.canvasPosition.Top);
-
- inner.Width = inner.canvasPosition.Width;
- inner.Height = inner.canvasPosition.Height;
- inner.WindowState = WindowState.Normal;
- }
- else{
- Canvas.SetLeft(inner, 0);
- Canvas.SetTop(inner, 0);
- inner.Width = WorkArea.ActualWidth;
- inner.Height = WorkArea.ActualHeight;
- inner.WindowState = WindowState.Maximized;
- }
- }
-
- private void MinInnerWindowMax(object sender, System.EventArgs e)
- {
- MinInnerWindow min = sender as MinInnerWindow;
- min.Inner.Visibility = Visibility.Visible;
- CanvasHelper.SetTopZIndex(min.Inner, WorkArea, typeof(InnerWindow));
- BottomBar.RemoveMinWindow(min);
- }
-
- private void MinInnerWindowClose(object sender, System.EventArgs e)
- {
- MinInnerWindow min = sender as MinInnerWindow;
- BottomBar.RemoveMinWindow(min);
- }
-
-
- private void WorkControl_SizeChanged(object sender, SizeChangedEventArgs e)
- {
- Size newSize = e.NewSize;
- Size previousSize = e.PreviousSize;
-
- for (int i = 0; i < VisualTreeHelper.GetChildrenCount(WorkArea); i++)
- {
- UIElement child = VisualTreeHelper.GetChild(WorkArea, i) as UIElement;
- if (Canvas.GetLeft(child) >= newSize.Width)
- {
- Canvas.SetLeft(child, Canvas.GetLeft(child) + newSize.Width - previousSize.Width);
- }
- if (Canvas.GetTop(child) >= newSize.Height)
- {
- Canvas.SetTop(child, Canvas.GetTop(child) + newSize.Height - previousSize.Height);
- }
- }
- }
-
-
- public void OnTabChange(object sender, SelectionChangedEventArgs args)
- {
- if (args.AddedItems.Count > 0)
- {
- IconTabItem newTab = args.AddedItems[0] as IconTabItem;
- if (newTab != null && newTab.Content == this)
- {
-
- }
- }
-
- if (args.RemovedItems.Count > 0)
- {
- IconTabItem oldTab = args.RemovedItems[0] as IconTabItem;
- if (oldTab != null && oldTab.Content == this)
- {
-
- }
- }
- }
- }
-}
+ /// <summary>
+ /// InnerWindow ZIndex鍒囨崲浜嬩欢
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void Inner_ZIndexEvent(object sender, EventArgs e)
+ {
+ CanvasHelper.SetTopZIndex(sender as InnerWindow, WorkArea, typeof(InnerWindow));
+ }
+
+ /// <summary>
+ /// InnerWindow鏈�灏忓寲浜嬩欢
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void InnerWindowMin(object sender, System.EventArgs e)
+ {
+ InnerWindow inner = sender as InnerWindow;
+ inner.Visibility = Visibility.Collapsed;
+ HandleMinInnerWindow(inner);
+ }
+
+ /// <summary>
+ /// InnerWindow鏈�澶у寲浜嬩欢
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void InnerWindowMax(object sender, System.EventArgs e)
+ {
+ InnerWindow inner = sender as InnerWindow;
+ if (inner.WindowState == WindowState.Maximized)
+ {
+ Canvas.SetLeft(inner, inner.canvasPosition.Left);
+ Canvas.SetTop(inner, inner.canvasPosition.Top);
+
+ inner.Width = inner.canvasPosition.Width;
+ inner.Height = inner.canvasPosition.Height;
+ inner.WindowState = WindowState.Normal;
+ }
+ else
+ {
+ Canvas.SetLeft(inner, 0);
+ Canvas.SetTop(inner, 0);
+ inner.Width = WorkArea.ActualWidth;
+ inner.Height = WorkArea.ActualHeight;
+ inner.WindowState = WindowState.Maximized;
+ }
+ }
+
+ /// <summary>
+ /// 閲嶈澶у皬
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void WorkControl_SizeChanged(object sender, SizeChangedEventArgs e)
+ {
+ //Size newSize = e.NewSize;
+ //Size previousSize = e.PreviousSize;
+
+ //double xRate = newSize.Width / previousSize.Width;
+ //double yRate = newSize.Height / previousSize.Height;
+ //for (int i = 0; i < VisualTreeHelper.GetChildrenCount(WorkArea); i++)
+ //{
+ // UIElement child = VisualTreeHelper.GetChild(WorkArea, i) as UIElement;
+ // Canvas.SetLeft(child, Canvas.GetLeft(child) * xRate);
+ // Canvas.SetTop(child, Canvas.GetTop(child) * yRate);
+ //}
+
+ //for (int i = 0; i < VisualTreeHelper.GetChildrenCount(WorkArea); i++)
+ //{
+ // UIElement child = VisualTreeHelper.GetChild(WorkArea, i) as UIElement;
+ // if (Canvas.GetLeft(child) >= newSize.Width)
+ // {
+ // Canvas.SetLeft(child, Canvas.GetLeft(child) + newSize.Width - previousSize.Width);
+ // }
+ // if (Canvas.GetTop(child) >= newSize.Height)
+ // {
+ // Canvas.SetTop(child, Canvas.GetTop(child) + newSize.Height - previousSize.Height);
+ // }
+ //}
+ }
+ #endregion
+
+ #region 搴曢儴MinInnerWindow鐩稿叧
+ /// <summary>
+ /// 搴曢儴MinInnerWindow澶勭悊
+ /// </summary>
+ /// <param name="inner"></param>
+ private void HandleMinInnerWindow(InnerWindow inner)
+ {
+ MinInnerWindow min = new MinInnerWindow(inner);
+ min.MaxEvent += MinInnerWindowMax;
+ min.CloseEvent += MinInnerWindowClose;
+ BottomBar.AddMinWindow(min);
+ }
+
+ /// <summary>
+ /// 搴曢儴MinInnerWindow灞曞紑
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void MinInnerWindowMax(object sender, System.EventArgs e)
+ {
+ MinInnerWindow min = sender as MinInnerWindow;
+ min.Inner.Visibility = Visibility.Visible;
+ CanvasHelper.SetTopZIndex(min.Inner, WorkArea, typeof(InnerWindow));
+ BottomBar.RemoveMinWindow(min);
+ }
+
+ /// <summary>
+ /// 搴曢儴MinInnerWin鍏抽棴
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void MinInnerWindowClose(object sender, System.EventArgs e)
+ {
+ MinInnerWindow min = sender as MinInnerWindow;
+ BottomBar.RemoveMinWindow(min);
+ }
+ #endregion
+
+ public void OnTabChange(object sender, SelectionChangedEventArgs args)
+ {
+ if (args.AddedItems.Count > 0)
+ {
+ IconTabItem newTab = args.AddedItems[0] as IconTabItem;
+ if (newTab != null && newTab.Content == this)
+ {
+
+ }
+ }
+
+ if (args.RemovedItems.Count > 0)
+ {
+ IconTabItem oldTab = args.RemovedItems[0] as IconTabItem;
+ if (oldTab != null && oldTab.Content == this)
+ {
+
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.1