PK qOFS WpfAppGanttChart/PK
`NFSWÕèc½ ½ WpfAppGanttChart/App.config
PK
`NFS<¥Øs‚ ‚ WpfAppGanttChart/App.xaml
PK
aNFSO¹Ÿ] ] WpfAppGanttChart/App.xaml.csusing System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
namespace WpfAppGanttChart
{
///
/// Interaction logic for App.xaml
///
public partial class App : Application
{
}
}
PK
FOFS±wo; WpfAppGanttChart/MainWindow.xaml
PK
lOFSÆlв² ² # WpfAppGanttChart/MainWindow.xaml.csusing 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;
using Arction.Wpf.Charting;
using Arction.Wpf.Charting.Axes;
using Arction.Wpf.Charting.SeriesXY;
using Arction.Wpf.Charting.Views;
using Arction.Wpf.Charting.Views.ViewXY;
using Arction.Wpf.Charting.Annotations;
namespace WpfAppGanttChart
{
///
/// Interaction logic for MainWindow.xaml
///
public partial class MainWindow : Window
{
LightningChart _chart;
public MainWindow()
{
InitializeComponent();
CreateChart();
}
void CreateChart()
{
_chart = new LightningChart();
_chart.BeginUpdate();
gridMain.Children.Add(_chart);
_chart.ChartRenderOptions.FontsQuality = FontsRenderingQuality.High;
ViewXY view = _chart.ViewXY;
AxisX xAxis = view.XAxes[0];
AxisY yAxis = view.YAxes[0];
//Set X axis properties
xAxis.ValueType = AxisValueType.DateTime;
xAxis.AutoFormatLabels = false;
xAxis.LabelsTimeFormat = "MM/dd/yyyy";
xAxis.LabelsAngle = 90;
xAxis.SetDateOrigin(new DateTime(2000, 1, 1));//Note, do not give or show X axis values less than this
xAxis.AutoDivSpacing = false;
xAxis.MajorDiv = 24 * 60 * 60;//one day
xAxis.Title.Text = "Time";
view.ZoomPanOptions.RightToLeftZoomAction = RightToLeftZoomActionXY.ZoomOut;
const int DeveloperCount = 5;
//Categories: Developer 1 ... DeveloperN
//Create custom axis ticks for Y axis
for (int dev = 0; dev < DeveloperCount; dev++)
{
yAxis.CustomTicks.Add(new CustomAxisTick(xAxis, dev, "Dev " + dev.ToString(), 10, true, Colors.White, CustomTickStyle.TickAndGrid));
}
yAxis.CustomTicksEnabled = true;
yAxis.AutoFormatLabels = false;
Random rand = new Random();
for (int dev = 0; dev < DeveloperCount; dev++)
{
int taskCount = rand.Next(6, 10);
DateTime dtStart = DateTime.Now;
for (int task = 0; task < taskCount; task++)
{
if (dtStart.DayOfWeek == DayOfWeek.Saturday)
dtStart += TimeSpan.FromDays(2);
else if (dtStart.DayOfWeek == DayOfWeek.Sunday)
dtStart += TimeSpan.FromDays(1);
DateTime dtStop = dtStart + TimeSpan.FromDays((double)rand.Next(1, 6));
string title = "Task " + task.ToString();
AddGanttBar(dtStart, dtStop, dev, 0.5, title,
DefaultColors.SeriesForBlackBackgroundWpf[task % DefaultColors.SeriesForBlackBackgroundWpf.Length]);
dtStart = dtStop;
}
}
//Seek min and max values for X and Y axis
double xMax = double.MinValue;
double xMin = double.MaxValue;
double yMax = double.MinValue;
double yMin = double.MaxValue;
foreach (AnnotationXY ganttBar in _chart.ViewXY.Annotations)
{
if (ganttBar.AxisValuesBoundaries.XMin < xMin)
xMin = ganttBar.AxisValuesBoundaries.XMin;
if (ganttBar.AxisValuesBoundaries.XMax > xMax)
xMax = ganttBar.AxisValuesBoundaries.XMax;
if (ganttBar.AxisValuesBoundaries.YMin < yMin)
yMin = ganttBar.AxisValuesBoundaries.YMin;
if (ganttBar.AxisValuesBoundaries.YMax > yMax)
yMax = ganttBar.AxisValuesBoundaries.YMax;
}
xAxis.SetRange(xMin, xMax);
yAxis.SetRange(yMin, yMax);
yAxis.Title.Text = "Assets";
view.LegendBoxes[0].Visible = false;
_chart.EndUpdate();
}
void AddGanttBar(DateTime start, DateTime stop, double yCenter, double yHeight, string title, Color color)
{
//Use Annotation as Gantt bar
ViewXY view = _chart.ViewXY;
AxisX xAxis = view.XAxes[0];
AxisY yAxis = view.YAxes[0];
AnnotationXY ganttBar = new AnnotationXY(view, xAxis, yAxis);
ganttBar.Style = AnnotationStyle.Rectangle;
ganttBar.Sizing = AnnotationXYSizing.AxisValuesBoundaries;
ganttBar.AxisValuesBoundaries.XMin = xAxis.DateTimeToAxisValue(start);
ganttBar.AxisValuesBoundaries.XMax = xAxis.DateTimeToAxisValue(stop);
ganttBar.AxisValuesBoundaries.YMin = yCenter - yHeight / 2.0;
ganttBar.AxisValuesBoundaries.YMax = yCenter + yHeight / 2.0;
ganttBar.Fill.GradientFill = GradientFill.Solid;
ganttBar.Fill.Color = Color.FromArgb(200, color.R, color.G, color.B);
ganttBar.Text = title;
ganttBar.Shadow.Visible = false;
ganttBar.AllowRotate = false;
ganttBar.AllowAnchorAdjust = false;
ganttBar.AllowResize = false;
ganttBar.AllowTargetMove = false;
ganttBar.AllowTargetMove = false;
view.Annotations.Add(ganttBar);
}
}
}
PK
•NFSR²G¸‘ ‘ WpfAppGanttChart/packages.config
PK `NFS WpfAppGanttChart/Properties/PK
aNFSw)† † + WpfAppGanttChart/Properties/AssemblyInfo.csusing System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("WpfAppGanttChart")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("WpfAppGanttChart")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
//In order to begin building localizable applications, set
//CultureYouAreCodingWith in your .csproj file
//inside a . For example, if you are using US english
//in your source files, set the to en-US. Then uncomment
//the NeutralResourceLanguage attribute below. Update the "en-US" in
//the line below to match the UICulture setting in the project file.
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
)]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
PK
aNFS9"›, , 1 WpfAppGanttChart/Properties/Resources.Designer.cs//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
//
//------------------------------------------------------------------------------
namespace WpfAppGanttChart.Properties
{
///
/// A strongly-typed resource class, for looking up localized strings, etc.
///
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
///
/// Returns the cached ResourceManager instance used by this class.
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WpfAppGanttChart.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
///
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}
PK
`NFS”Ztvì ì * WpfAppGanttChart/Properties/Resources.resx
text/microsoft-resx
2.0
System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
PK
aNFS¢˜Æ‹M M 0 WpfAppGanttChart/Properties/Settings.Designer.cs//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
//
//------------------------------------------------------------------------------
namespace WpfAppGanttChart.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}
PK
`NFSÚ¥õ!É É - WpfAppGanttChart/Properties/Settings.settings
PK
–NFS|£“¤É! É! ( WpfAppGanttChart/WpfAppGanttChart.csproj
Debug
AnyCPU
{C3F5C900-CA4B-4438-9F4F-40ABBCCCE532}
WinExe
WpfAppGanttChart
WpfAppGanttChart
v4.7.2
512
{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
4
true
true
AnyCPU
true
full
false
bin\Debug\
DEBUG;TRACE
prompt
4
AnyCPU
pdbonly
true
bin\Release\
TRACE
prompt
4
packages\LightningChart.10.1.2.2\lib\net45\Arction.DirectX.dll
packages\LightningChart.10.1.2.2\lib\net45\Arction.DirectXFiles.dll
packages\LightningChart.10.1.2.2\lib\net45\Arction.DirectXInit.dll
packages\LightningChart.10.1.2.2\lib\net45\Arction.Licensing.dll
packages\LightningChart.10.1.2.2\lib\net45\Arction.MathCore.dll
packages\LightningChart.10.1.2.2\lib\net45\Arction.RenderingDefinitions.dll
packages\LightningChart.10.1.2.2\lib\net45\Arction.RenderingEngine.dll
packages\LightningChart.10.1.2.2\lib\net45\Arction.RenderingEngine11.dll
packages\LightningChart.10.1.2.2\lib\net45\Arction.RenderingEngine9.dll
packages\LightningChart.10.1.2.2\lib\net45\Arction.WinForms.Charting.LightningChart.dll
packages\LightningChart.10.1.2.2\lib\net45\Arction.WinForms.SignalProcessing.SignalTools.dll
packages\LightningChart.10.1.2.2\lib\net45\Arction.WinForms.TradingCharts.dll
packages\LightningChart.10.1.2.2\lib\net45\Arction.Wpf.Charting.LightningChart.dll
packages\LightningChart.10.1.2.2\lib\net45\Arction.Wpf.ChartingMVVM.LightningChart.dll
packages\LightningChart.10.1.2.2\lib\net45\Arction.Wpf.SignalProcessing.SignalTools.dll
packages\LightningChart.10.1.2.2\lib\net45\Arction.Wpf.TradingCharts.dll
4.0
MSBuild:Compile
Designer
MSBuild:Compile
Designer
App.xaml
Code
MainWindow.xaml
Code
Code
True
True
Resources.resx
True
Settings.settings
True
ResXFileCodeGenerator
Resources.Designer.cs
SettingsSingleFileGenerator
Settings.Designer.cs
PK
bNFS©§ƒq q % WpfAppGanttChart/WpfAppGanttChart.sln
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31515.178
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfAppGanttChart", "WpfAppGanttChart.csproj", "{C3F5C900-CA4B-4438-9F4F-40ABBCCCE532}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C3F5C900-CA4B-4438-9F4F-40ABBCCCE532}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C3F5C900-CA4B-4438-9F4F-40ABBCCCE532}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C3F5C900-CA4B-4438-9F4F-40ABBCCCE532}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C3F5C900-CA4B-4438-9F4F-40ABBCCCE532}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {76085199-41C9-4F84-9C8B-09AB54C967F1}
EndGlobalSection
EndGlobal
PK? qOFS $ WpfAppGanttChart/
Ě綺×Ě綺׎#ðƒ~º×PK?
`NFSWÕèc½ ½ $ / WpfAppGanttChart/App.config
ß è„~º×ëá´¶º×ãùç„~º×PK?
`NFS<¥Øs‚ ‚ $ % WpfAppGanttChart/App.xaml
¿nè„~º×Õú†º×ß è„~º×PK?
aNFSO¹Ÿ] ] $ Þ WpfAppGanttChart/App.xaml.cs
áÖÑ…~º× ·º×Òpï„~º×PK?
FOFS±wo; $ u WpfAppGanttChart/MainWindow.xaml
1Î †º×hwó¶º×Ê—ï„~º×PK?
lOFSÆlв² ² # $ Ì WpfAppGanttChart/MainWindow.xaml.cs
ñJ±º×N¤¸º×Ê—ï„~º×PK?
•NFSR²G¸‘ ‘ $ ¿ WpfAppGanttChart/packages.config
Í°Á~º×a¬¶º×Í°Á~º×PK? `NFS $ Ž WpfAppGanttChart/Properties/
Óç„~º× Óç„~º×üÀA„~º×PK?
aNFSw)† † + $ È WpfAppGanttChart/Properties/AssemblyInfo.cs
ý·«…~º× ·º×ðÙB„~º×PK?
aNFS9"›, , 1 $ —( WpfAppGanttChart/Properties/Resources.Designer.cs
¬o°…~º× ·º×^ç„~º×PK?
`NFS”Ztvì ì * $ 4 WpfAppGanttChart/Properties/Resources.resx
^ç„~º×ßqÕ‡º×7ç„~º×PK?
aNFS¢˜Æ‹M M 0 $ FJ WpfAppGanttChart/Properties/Settings.Designer.cs
ˆä°…~º× ·º× Óç„~º×PK?
`NFSÚ¥õ!É É - $ áN WpfAppGanttChart/Properties/Settings.settings
ø«ç„~º×ø«ç„~º×ø«ç„~º×PK?
–NFS|£“¤É! É! ( $ õO WpfAppGanttChart/WpfAppGanttChart.csproj
äZ_Â~º×Í@ය×ï%ò„~º×PK?
bNFS©§ƒq q % $ r WpfAppGanttChart/WpfAppGanttChart.sln
rûY‡~º×҂κ×~ÔY‡~º×PK Þ ¸v