diff --git a/SunlightCentralizedControlManagement_SCCM_.csproj b/SunlightCentralizedControlManagement_SCCM_.csproj index 94be685..fff5554 100644 --- a/SunlightCentralizedControlManagement_SCCM_.csproj +++ b/SunlightCentralizedControlManagement_SCCM_.csproj @@ -93,7 +93,6 @@ - @@ -161,9 +160,6 @@ RoilingTextBlock.xaml - - Timeline.xaml - Whole.xaml @@ -242,10 +238,6 @@ Designer MSBuild:Compile - - Designer - MSBuild:Compile - Designer MSBuild:Compile diff --git a/View/ProductionPlanningView.xaml.cs b/View/ProductionPlanningView.xaml.cs index a65e6bc..4200613 100644 --- a/View/ProductionPlanningView.xaml.cs +++ b/View/ProductionPlanningView.xaml.cs @@ -35,6 +35,9 @@ using LiveChartsCore.SkiaSharpView.WPF; using System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder; using nGantt.GanttChart; using nGantt; +using nGantt.PeriodSplitter; +using ScottPlot.TickGenerators.TimeUnits; +using System.Runtime.Serialization; namespace SunlightCentralizedControlManagement_SCCM_.View @@ -53,20 +56,60 @@ namespace SunlightCentralizedControlManagement_SCCM_.View private SQLiteHelper SQLiteHelpers = null; //定义数据库 private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径 - + private int GantLenght { get; set; } private void UserControl_Loaded(object sender, RoutedEventArgs e)//打开页面时的操作 { - List qw = MainWindowViewModel.Machines.AsEnumerable().Select(row => row.Field("name")).ToList();//转换列名为机台 - int asd = qw.Count(); + // List qw = MainWindowViewModel.Machines.AsEnumerable().Select(row => row.Field("name")).ToList();//转换列名为机台 + // int asd = qw.Count(); + GantLenght = 1; + DateTime minDate = DateTime.Parse("2012-02-01").Date; + DateTime maxDate = minDate.AddDays(GantLenght); + + GanttChart.Initialize(minDate, maxDate); + var gridLineTimeLine = GanttChart.CreateTimeLine(new PeriodDaySplitter(minDate, maxDate), FormatDay); + + GanttChart.CreateTimeLine(new PeriodHourSplitter(minDate, maxDate), FormatHour); + // GanttChart.CreateTimeLine(new PeriodDaySplitter(minDate, maxDate), FormatDayName); + + // Set the timeline to atatch gridlines to + GanttChart.SetGridLinesTimeline(gridLineTimeLine, DetermineBackground); + var rowgroup1 = GanttChart.CreateGanttRowGroup("HeaderdGanttRowGroup"); var row1 = GanttChart.CreateGanttRow(rowgroup1, "GanttRow 1"); - GanttChart.AddGanttTask(row1, new GanttTask() { Start = DateTime.Parse("2012-02-01"), End = DateTime.Parse("2012-03-01"), Name = "GanttRow 1:GanttTask 1", TaskProgressVisibility = System.Windows.Visibility.Hidden }); - GanttChart.AddGanttTask(row1, new GanttTask() { Start = DateTime.Parse("2012-03-05"), End = DateTime.Parse("2012-05-01"), Name = "GanttRow 1:GanttTask 2" }); - GanttChart.AddGanttTask(row1, new GanttTask() { Start = DateTime.Parse("2012-06-01"), End = DateTime.Parse("2012-06-15"), Name = "GanttRow 1:GanttTask 3" }); + GanttChart.AddGanttTask(row1, new GanttTask() { Start = DateTime.Parse("2012-02-01 00:30:00"), End = DateTime.Parse("2012-02-01 01:00:00"), Name = "GanttRow 1:GanttTask 1", TaskProgressVisibility = System.Windows.Visibility.Hidden }); + GanttChart.AddGanttTask(row1, new GanttTask() { Start = DateTime.Parse("2012-02-01 06:00:00"), End = DateTime.Parse("2012-02-01 07:00:00"), Name = "GanttRow 1:GanttTask 2" }); + GanttChart.AddGanttTask(row1, new GanttTask() { Start = DateTime.Parse("2012-02-01 10:00:00"), End = DateTime.Parse("2012-02-01 20:00:00"), Name = "GanttRow 1:GanttTask 3" }); } + private string FormatYear(Period period) + { + return period.Start.Year.ToString(); + } + private string FormatMonth(Period period) + { + return period.Start.Month.ToString(); + } + private string FormatDay(Period period) + { + return period.Start.Day.ToString(); + } + private string FormatDayName(Period period) + { + return period.Start.DayOfWeek.ToString(); + } + private string FormatHour(Period period) + { + return period.Start.Hour.ToString(); + } + private System.Windows.Media.Brush DetermineBackground(TimeLineItem timeLineItem) + { + if (timeLineItem.End.Date.DayOfWeek == DayOfWeek.Saturday || timeLineItem.End.Date.DayOfWeek == DayOfWeek.Sunday) + return new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.LightBlue); + else + return new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Transparent); + } private void ListViewItem_Quit(object sender, System.Windows.Input.MouseButtonEventArgs e)//退出事件 { diff --git a/View/Timeline.xaml b/View/Timeline.xaml deleted file mode 100644 index 0299879..0000000 --- a/View/Timeline.xaml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - diff --git a/View/Timeline.xaml.cs b/View/Timeline.xaml.cs deleted file mode 100644 index 4a3fcdd..0000000 --- a/View/Timeline.xaml.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using System.Windows.Navigation; -using System.Windows.Shapes; - -namespace SunlightCentralizedControlManagement_SCCM_.View -{ - /// - /// Timeline.xaml 的交互逻辑 - /// - public partial class Timeline : UserControl - { - public Timeline() - { - InitializeComponent(); - } - } -}