From d0466e94e10a06aec0992e7ff5cc4695b9e74e7f Mon Sep 17 00:00:00 2001 From: subash_s Date: Fri, 25 Oct 2024 22:39:47 +0530 Subject: [PATCH 1/8] uploaded wpf sample project --- README.md | 2 +- .../sfchartmultipletrackball.metadata.v9.bin | Bin 0 -> 1367 bytes .../sfchartmultipletrackball.projects.v9.bin | Bin 0 -> 28063 bytes .../sfchartmultipletrackball.strings.v9.bin | Bin 0 -> 128239 bytes .../DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 104520 bytes ...673ae95b-dbe2-47fa-950b-cec7feaeaf17.vsidx | Bin 0 -> 24637 bytes .../v17/.futdcache.v2 | Bin 0 -> 153 bytes .../.vs/SfChartMultipleTrackball/v17/.suo | Bin 0 -> 50176 bytes .../v17/DocumentLayout.backup.json | 61 ++++++ .../v17/DocumentLayout.json | 61 ++++++ .../SfChartMultipleTrackball.sln | 25 +++ .../SfChartMultipleTrackball/App.xaml | 9 + .../SfChartMultipleTrackball/App.xaml.cs | 14 ++ .../SfChartMultipleTrackball/AssemblyInfo.cs | 10 + .../SfChartMultipleTrackball/MainWindow.xaml | 64 ++++++ .../MainWindow.xaml.cs | 187 ++++++++++++++++++ .../SfChartMultipleTrackball.csproj | 15 ++ .../SfChartMultipleTrackball.csproj.user | 14 ++ 18 files changed, 461 insertions(+), 1 deletion(-) create mode 100644 SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.metadata.v9.bin create mode 100644 SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.projects.v9.bin create mode 100644 SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.strings.v9.bin create mode 100644 SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/DesignTimeBuild/.dtbcache.v2 create mode 100644 SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/FileContentIndex/673ae95b-dbe2-47fa-950b-cec7feaeaf17.vsidx create mode 100644 SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/.futdcache.v2 create mode 100644 SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/.suo create mode 100644 SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/DocumentLayout.backup.json create mode 100644 SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/DocumentLayout.json create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball.sln create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml.cs create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/AssemblyInfo.cs create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj.user diff --git a/README.md b/README.md index cf643f1..134afcc 100644 --- a/README.md +++ b/README.md @@ -259,7 +259,7 @@ public class ChartTrackBallBehaviorExt : ChartTrackBallBehavior **Output:** -![trackballDemo](https://github.com/user-attachments/assets/0a01c337-49a5-479b-b04f-1719eac9a37e) +![trackballDemo.gif](https://github.com/user-attachments/assets/0a01c337-49a5-479b-b04f-1719eac9a37e) ## Troubleshooting diff --git a/SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.metadata.v9.bin b/SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.metadata.v9.bin new file mode 100644 index 0000000000000000000000000000000000000000..b5bbc58b47c99607d9a65cbde1557431074cbadc GIT binary patch literal 1367 zcmYLJX-ri|6rTG&@ZEc_o zh*4wIh!_xqP{4>h1L8thlpiKqMbQB6wk%o|R0L=A_1u{k=H;EtH|KnF&Uendd5kgf z++vlbgYI>b^}z*X}^QQIk0fIE$*3U$!71Qm}xn-lNS!A?r_id=P= z8P9Gzxp^UKU)mCiM=mB_6XQR!Hx{;jKQeniDHU&N|BkH7!m_uy)lx#L!FV;+7e7^H zx6#pVN*s#XxV*LU)O!mfpM6&B4;FS9Owsf`b1gI;n1NXm8I9h z%KD2{jV+|3kHVkHxP?jY5>@71q~kDt&d;uuvgQJ_ep;O=u^{RL8tPwII_hkKGbw%= z>mDY^gZvDVii1?&%_RN{k-u8lekU_as`OcKwf%V5!8{r)FKtZyLxPu)5;A+EGfRFF zp)8}wxhuXK>=&2Uyh$(|tgWS>A(`M#uy}8AN)y4!M7a8!X9K|~4Ugj5v)8xeEmVLn z-m8)YV@+4G{7LXX&{y512yVm#&;MI;2g0anlw;=+U~k;BR#mo`yaBOGdK7oG)|(6# zd1}UeM@|*Cbo`*Cr+_W$E33Uu-ZU*T9W1OXI^5|ZR%e(B_VM=t^$W>+1nCD)$~p6C z+It0Y?FlOHINjSsO*n|W@xz;>^lf0b3O#a?e_~jIzqjMq`2LlWehEhpsQ18kXzmQK ztc*?G7HV^k9`$%#;yh0HlH|MLky?5d3aWbV%fb^hcR%*k_y_eXSnlNV>;~#B9&AL? zi!07ZQgz`RxTE}cJd^S+Oe=FVWayb~*W5|Ea4xFm`Rt|2hZe7=w?A8$QJVq@r~^h f1IY%F1(Su?Vz4bj2@N3|YKvjE7)~h6_8I>J(ldb} literal 0 HcmV?d00001 diff --git a/SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.projects.v9.bin b/SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.projects.v9.bin new file mode 100644 index 0000000000000000000000000000000000000000..6dc5eb3c5e22e00ea94bd963f56f318b226b2550 GIT binary patch literal 28063 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 L-+ytHpOO4O0XNYP literal 0 HcmV?d00001 diff --git a/SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.strings.v9.bin b/SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.strings.v9.bin new file mode 100644 index 0000000000000000000000000000000000000000..170ae679e1c199243c7a1952961db690755e5a68 GIT binary patch literal 128239 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 literal 0 HcmV?d00001 diff --git a/SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/DesignTimeBuild/.dtbcache.v2 b/SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..f3a2b98e2b85c7cb2ddebd8f6586c1ab8e205095 GIT binary patch literal 104520 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 G@P7b=%zXU- literal 0 HcmV?d00001 diff --git a/SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/.futdcache.v2 b/SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/.futdcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..7879f2cf3139cea254ca7f1d834a774d6c134be4 GIT binary patch literal 153 zcmZQ%U|@)Fv5E-~aEl2}bIwRCD)BANDakCzNewAVOwLY9%*i2LLNB?vpeR3!31~R4 zbADc0W_oE+Vo7Fx9;-`gQfWFzKu%&wT7FS3n`2(3b3kaG;X`|%QZTsTdvcZ7*E<{l DE4Vd< literal 0 HcmV?d00001 diff --git a/SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/.suo b/SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/.suo new file mode 100644 index 0000000000000000000000000000000000000000..52bf939d7b35b7b0bd3649891f26f0bb5eba5ba9 GIT binary patch literal 50176 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 + + + + diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml.cs b/SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml.cs new file mode 100644 index 0000000..583a85e --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml.cs @@ -0,0 +1,14 @@ +using System.Configuration; +using System.Data; +using System.Windows; + +namespace SfChartMultipleTrackball +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + } + +} diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/AssemblyInfo.cs b/SfChartMultipleTrackball/SfChartMultipleTrackball/AssemblyInfo.cs new file mode 100644 index 0000000..b0ec827 --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/AssemblyInfo.cs @@ -0,0 +1,10 @@ +using System.Windows; + +[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) +)] diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml b/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml new file mode 100644 index 0000000..0175795 --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs b/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs new file mode 100644 index 0000000..5e440ff --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs @@ -0,0 +1,187 @@ +using Syncfusion.UI.Xaml.Charts; +using System.Reflection; +using System.Windows; +using System.Windows.Input; + +namespace SfChartMultipleTrackball +{ + /// + /// Interaction logic for MainWindow.xaml + /// + public partial class MainWindow : Window + { + public MainWindow() + { + InitializeComponent(); + trackball1.SfChart = this.chart; + trackball2.SfChart = this.chart; + } + + protected override void OnContentRendered(EventArgs e) + { + base.OnContentRendered(e); + + // Run the ShowTrackball method asynchronously + Task.Run(async () => + { + await ShowTrackball(); + }); + } + + async Task ShowTrackball() + { + // Wait for 1 second before executing the rest of the method + await Task.Delay(1000); + Application.Current.Dispatcher.Invoke(() => + { + // Calculated positions for the first trackball + float xPosition = (float)chart.ValueToPoint(chart.PrimaryAxis, 1); + float yPosition = (float)chart.ValueToPoint(chart.SecondaryAxis, 169); + + // Calculated positions for the second trackball + float xPosition1 = (float)chart.ValueToPoint(chart.PrimaryAxis, 6); + float yPosition1 = (float)chart.ValueToPoint(chart.SecondaryAxis, 170); + + // Display the first trackball + trackball1.Display(xPosition, yPosition); + + // Display the second trackball + trackball2.Display(xPosition1, yPosition1); + }); + } + } + + public class Model + { + public string Day { get; set; } + public double CPULoad { get; set; } + } + + public class ViewModel + { + public List Data { get; set; } + + public ViewModel() + { + Data = new List + { + new Model { Day = "Monday", CPULoad = 35 }, + new Model { Day = "Tuesday", CPULoad = 42 }, + new Model { Day = "Wednesday", CPULoad = 18 }, + new Model { Day = "Thursday", CPULoad = 30 }, + new Model { Day = "Friday", CPULoad = 64 }, + new Model { Day = "Saturday", CPULoad = 22 }, + new Model { Day = "Sunday", CPULoad = 10 } + }; + } + } + + public class ChartTrackBallBehaviorExt : ChartTrackBallBehavior + { + private bool isTrackballActive = false; + + public SfChart SfChart { get; set; } + + public double X { get; set; } + public double Y { get; set; } + + protected override void OnMouseEnter(MouseEventArgs e) + { + // Get the position of the mouse pointer + var touchPoint = e.GetPosition(null); + + // Find the nearest trackball to the mouse pointer + var trackball = FindNearestTrackball(touchPoint); + + // Activate the trackball if it is the nearest one + if (trackball == this) + { + isTrackballActive = true; + base.OnMouseEnter(e); + } + } + + protected override void OnMouseMove(MouseEventArgs e) + { + // Check if the trackball is activated + if (isTrackballActive) + { + // Get the position of the mouse pointer + var touchPoint = e.GetPosition(null); + + // Display the trackball at the current mouse position + Display((float)touchPoint.X, (float)touchPoint.Y); + base.OnMouseMove(e); + } + } + + protected override void OnMouseLeave(MouseEventArgs e) + { + // Deactivate the trackball + isTrackballActive = false; + } + + private ChartTrackBallBehavior FindNearestTrackball(Point touchPoint) + { + ChartTrackBallBehavior nearestTrackball = null; + double minDistance = double.MaxValue; + + // Iterate through all trackball behaviors to find the nearest one + foreach (var trackballBehaviour in SfChart.Behaviors) + { + if (trackballBehaviour is ChartTrackBallBehaviorExt trackball) + { + // Calculate the distance between the trackball and the touch point + double distance = Math.Sqrt(Math.Pow(trackball.X - touchPoint.X, 2) + Math.Pow(trackball.Y - touchPoint.Y, 2)); + + // Update the nearest trackball if the current one is closer + if (distance < minDistance) + { + minDistance = distance; + nearestTrackball = trackball; + } + } + } + + return nearestTrackball; + } + + public void Display(float x, float y) + { + X = x; Y = y; + IsActivated = true; + var point = new Point(x, y); + + // Set the internal property for the current point + SetInternalProperty(typeof(ChartTrackBallBehavior), this, point, "CurrentPoint"); + + // Trigger the pointer position changed event + base.OnPointerPositionChanged(); + + // Activate the trackball + InvokeInternalMethod(typeof(ChartTrackBallBehavior), this, "Activate", IsActivated); + } + + // Sets an internal property of an object using reflection. + internal static void SetInternalProperty(Type type, object obj, object value, string propertyName) + { + var properties = type.GetRuntimeProperties(); + + foreach (var item in properties) + { + if (item.Name == propertyName) + { + item.SetValue(obj, value); + break; + } + } + } + + // Invokes an internal method of an object using reflection. + internal static object? InvokeInternalMethod(Type type, object obj, string methodName, params object[] args) + { + var method = type.GetTypeInfo().GetDeclaredMethod(methodName); + return method?.Invoke(obj, args); + } + } +} \ No newline at end of file diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj b/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj new file mode 100644 index 0000000..52478d0 --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj @@ -0,0 +1,15 @@ + + + + WinExe + net8.0-windows + enable + enable + true + + + + + + + diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj.user b/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj.user new file mode 100644 index 0000000..644b0a6 --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj.user @@ -0,0 +1,14 @@ + + + + + + Designer + + + + + Designer + + + \ No newline at end of file From 122ed5bf57d004c9618ddabc0656c823a6f6c1af Mon Sep 17 00:00:00 2001 From: subash_s Date: Tue, 29 Oct 2024 18:07:17 +0530 Subject: [PATCH 2/8] Reverted .VS file --- README.md | 317 ++++++++---------- .../sfchartmultipletrackball.metadata.v9.bin | Bin 1367 -> 0 bytes .../sfchartmultipletrackball.projects.v9.bin | Bin 28063 -> 0 bytes .../sfchartmultipletrackball.strings.v9.bin | Bin 128239 -> 0 bytes .../DesignTimeBuild/.dtbcache.v2 | Bin 104520 -> 0 bytes ...673ae95b-dbe2-47fa-950b-cec7feaeaf17.vsidx | Bin 24637 -> 0 bytes .../v17/.futdcache.v2 | Bin 153 -> 0 bytes .../.vs/SfChartMultipleTrackball/v17/.suo | Bin 50176 -> 0 bytes .../v17/DocumentLayout.backup.json | 61 ---- .../v17/DocumentLayout.json | 61 ---- .../SfChartMultipleTrackball.sln | 25 -- .../SfChartMultipleTrackball/App.xaml | 9 - .../SfChartMultipleTrackball/App.xaml.cs | 14 - .../SfChartMultipleTrackball/AssemblyInfo.cs | 10 - .../SfChartMultipleTrackball/MainWindow.xaml | 64 ---- .../MainWindow.xaml.cs | 187 ----------- .../SfChartMultipleTrackball.csproj | 15 - .../SfChartMultipleTrackball.csproj.user | 14 - 18 files changed, 140 insertions(+), 637 deletions(-) delete mode 100644 SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.metadata.v9.bin delete mode 100644 SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.projects.v9.bin delete mode 100644 SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.strings.v9.bin delete mode 100644 SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/DesignTimeBuild/.dtbcache.v2 delete mode 100644 SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/FileContentIndex/673ae95b-dbe2-47fa-950b-cec7feaeaf17.vsidx delete mode 100644 SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/.futdcache.v2 delete mode 100644 SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/.suo delete mode 100644 SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/DocumentLayout.backup.json delete mode 100644 SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/DocumentLayout.json delete mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball.sln delete mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml delete mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml.cs delete mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/AssemblyInfo.cs delete mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml delete mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs delete mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj delete mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj.user diff --git a/README.md b/README.md index 134afcc..83c620d 100644 --- a/README.md +++ b/README.md @@ -3,144 +3,153 @@ This article provides a detailed walkthrough on how to add multiple trackballs i Learn step-by-step instructions and gain insights to add multiple trackballs in a WPF SfChart. -**Step 1:** Create a custom ChartTrackBallBehaviorExt class, which is inherited from [ChartTrackballBehavior](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Charts.ChartTrackBallBehavior.html#). +**Step 1:** Initialize the SfChart with primary and secondary axes. For more detailed steps, refer to the WPF Charts [documentation](https://help.syncfusion.com/wpf/charts/getting-started). -C# +XAML - ```csharp -public class ChartTrackBallBehaviorExt : ChartTrackBallBehavior -{ +```XML + -} - ``` + -**Step 2:** In the constructor of your MainWindow class, initialize the trackballs by setting their SfChart property to the chart defined in your XAML. This ensures that the trackballs are associated with the correct chart instance and can be accessed in other classes. + + + -C# + + + - ```csharp -public partial class MainWindow : Window -{ - public MainWindow() - { - InitializeComponent(); - trackball1.SfChart = this.chart; - trackball2.SfChart = this.chart; - } -} + + + + + + +``` + +**Step 2:** Create a custom ChartTrackBallBehaviorExt class, which is inherited from [ChartTrackballBehavior](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Charts.ChartTrackBallBehavior.html#). + +C# +```csharp public class ChartTrackBallBehaviorExt : ChartTrackBallBehavior { - . . . - public SfChart SfChart { get; set; } - . . . + } - ``` +``` **Step 3:** Create instances of ChartTrackBallBehaviorExt, and add them to the [Behaviors](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Charts.SfChart.html#Syncfusion_UI_Xaml_Charts_SfChart_Behaviors) collection, assigning specific names to each. XAML - - ```XML + +```XML - ``` +``` -**Step 4:** Override the **OnContentRendered** method to run the asynchronous task that calls ShowTrackball(). +**Step 4:** Implement the **ChartTrackBallBehaviorExt** class and its functionalities. Include the **Display** method, which is responsible for displaying the trackball at specified coordinates by setting the IsActivated protected property of the ChartTrackBallBehavior class. Manage multiple trackballs by overriding **mouse event handlers** in ChartTrackBallBehavior, using the **FindNearestTrackball** method in **OnMouseEnter** to locate the closest trackball. The **isTrackballActive** variable ensures only the active trackball responds to the events. C# - ```csharp -public partial class MainWindow : Window +```csharp +public class ChartTrackBallBehaviorExt : ChartTrackBallBehavior { - . . . - protected override void OnContentRendered(EventArgs e) + private bool isTrackballActive = false; + + public SfChart? SfChart { get; set; } + + public double X { get; set; } + public double Y { get; set; } + + protected override void OnMouseEnter(MouseEventArgs e) { - base.OnContentRendered(e); - - // Run the ShowTrackball method asynchronously - Task.Run(async () => + // Get the position of the mouse pointer + var touchPoint = e.GetPosition(null); + + // Find the nearest trackball to the mouse pointer + var trackball = FindNearestTrackball(touchPoint); + + // Activate the trackball if it is the nearest one + if (trackball == this) { - await ShowTrackball(); - }); + isTrackballActive = true; + base.OnMouseEnter(e); + } } - . . . -} - ``` - -**Step 5:** Implement the **ShowTrackball** method to calculate positions and display the trackballs at load time by using the Display method. -C# - - ```csharp -public partial class MainWindow : Window -{ - . . . - async Task ShowTrackball() + protected override void OnMouseMove(MouseEventArgs e) { - // Wait for 1 second before executing the rest of the method - await Task.Delay(1000); - Application.Current.Dispatcher.Invoke(() => + // Check if the trackball is activated + if (isTrackballActive) { - // Calculated positions for the first trackball - float xPosition = (float)chart.ValueToPoint(chart.PrimaryAxis, 1); - float yPosition = (float)chart.ValueToPoint(chart.SecondaryAxis, 169); - - // Calculated positions for the second trackball - float xPosition1 = (float)chart.ValueToPoint(chart.PrimaryAxis, 6); - float yPosition1 = (float)chart.ValueToPoint(chart.SecondaryAxis, 170); - - // Display the first trackball - trackball1.Display(xPosition, yPosition); - - // Display the second trackball - trackball2.Display(xPosition1, yPosition1); - }); + // Get the position of the mouse pointer + var touchPoint = e.GetPosition(null); + + // Display the trackball at the current mouse position + Display((float)touchPoint.X, (float)touchPoint.Y); + base.OnMouseMove(e); + } } - . . . - } - ``` -**Step 6:** Implement the **Display** method, which is responsible for displaying the trackball at specified coordinates . It updates the trackball’s position, sets the IsActivated protected property of the ChartTrackBallBehavior class to true, and triggers the necessary internal methods to reflect these changes on the UI. + protected override void OnMouseLeave(MouseEventArgs e) + { + // Deactivate the trackball + isTrackballActive = false; + } + + private ChartTrackBallBehavior FindNearestTrackball(Point touchPoint) + { + ChartTrackBallBehavior nearestTrackball = new ChartTrackBallBehaviorExt(); + double minDistance = double.MaxValue; + + // Iterate through all trackball behaviors to find the nearest one + if (SfChart != null) + { + foreach (var trackballBehaviour in SfChart.Behaviors) + { + if (trackballBehaviour is ChartTrackBallBehaviorExt trackball) + { + // Calculate the distance between the trackball and the touch point + double distance = Math.Sqrt(Math.Pow(trackball.X - touchPoint.X, 2) + Math.Pow(trackball.Y - touchPoint.Y, 2)); + + // Update the nearest trackball if the current one is closer + if (distance < minDistance) + { + minDistance = distance; + nearestTrackball = trackball; + } + } + } + } + return nearestTrackball; + } -C# - - ```csharp -public class ChartTrackBallBehaviorExt : ChartTrackBallBehavior -{ - . . . public void Display(float x, float y) { X = x; Y = y; IsActivated = true; var point = new Point(x, y); - + // Set the internal property for the current point SetInternalProperty(typeof(ChartTrackBallBehavior), this, point, "CurrentPoint"); - + // Trigger the pointer position changed event base.OnPointerPositionChanged(); - + // Activate the trackball InvokeInternalMethod(typeof(ChartTrackBallBehavior), this, "Activate", IsActivated); - } - . . . -} - ``` - -**Step 7:** The **SetInternalProperty** method uses reflection to set an internal property of an object. This is useful for accessing and modifying properties that are not publicly accessible. - -C# + } - ```csharp -public class ChartTrackBallBehaviorExt : ChartTrackBallBehavior -{ - . . . + // Sets an internal property of an object using reflection. internal static void SetInternalProperty(Type type, object obj, object value, string propertyName) { var properties = type.GetRuntimeProperties(); + foreach (var item in properties) { if (item.Name == propertyName) @@ -149,113 +158,67 @@ public class ChartTrackBallBehaviorExt : ChartTrackBallBehavior break; } } - } - . . . -} - ``` - -**Step 8:** The **InvokeInternalMethod** method uses reflection to invoke an internal method of an object. This allows calling methods that are not publicly accessible. - -C# + } - ```csharp -public class ChartTrackBallBehaviorExt : ChartTrackBallBehavior -{ - . . . + // Invokes an internal method of an object using reflection. internal static object? InvokeInternalMethod(Type type, object obj, string methodName, params object[] args) { var method = type.GetTypeInfo().GetDeclaredMethod(methodName); return method?.Invoke(obj, args); - } - . . . -} - ``` + } +} +``` -**Step 9:** Interact with multiple trackballs by overriding the **Mouse Event handlers** of [ChartTrackBallBehavior](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Charts.ChartTrackBallBehavior.html) class. The **FindNearestTrackball** method is called in **OnMouseEnter** method to find the nearest trackball to the mouse pointer. The **isTrackballActive** variable is used to track whether a specific trackball is currently active, ensuring that only the relevant trackball responds to mouse events. +**Step 5:** In the constructor of your MainWindow class, initialize the trackballs by setting their SfChart property to the chart defined in your XAML. This ensures that the trackballs are associated with the correct chart instance and accessible in other classes. Override the **OnContentRendered** method to run an asynchronous task that calls ShowTrackball(). Implement the **ShowTrackball** method to calculate positions and display the trackballs at load time using the Display method. C# - ```csharp -public class ChartTrackBallBehaviorExt : ChartTrackBallBehavior +```csharp +public partial class MainWindow : Window { - private bool isTrackballActive = false; - . . . - protected override void OnMouseEnter(MouseEventArgs e) + public MainWindow() { - // Get the position of the mouse pointer - var touchPoint = e.GetPosition(null); - - // Find the nearest trackball to the mouse pointer - var trackball = FindNearestTrackball(touchPoint); - - // Activate the trackball if it is the nearest one - if (trackball == this) - { - isTrackballActive = true; - base.OnMouseEnter(e); - } + InitializeComponent(); + trackball1.SfChart = this.chart; + trackball2.SfChart = this.chart; } - - protected override void OnMouseMove(MouseEventArgs e) + + protected override void OnContentRendered(EventArgs e) { - // Check if the trackball is activated - if (isTrackballActive) + base.OnContentRendered(e); + + // Run the ShowTrackball method asynchronously + Task.Run(async () => { - // Get the position of the mouse pointer - var touchPoint = e.GetPosition(null); - - // Display the trackball at the current mouse position - Display((float)touchPoint.X, (float)touchPoint.Y); - base.OnMouseMove(e); - } + await ShowTrackball(); + }); } - - protected override void OnMouseLeave(MouseEventArgs e) + + async Task ShowTrackball() { - // Deactivate the trackball - isTrackballActive = false; - } - . . . -} - ``` + // Wait for 1 second before executing the rest of the method + await Task.Delay(1000); + Application.Current.Dispatcher.Invoke(() => + { + // Calculated positions for the first trackball + float xPosition = (float)chart.ValueToPoint(chart.PrimaryAxis, 1); + float yPosition = (float)chart.ValueToPoint(chart.SecondaryAxis, 169); -**Step 10:** The **FindNearestTrackball** method identifies the trackball closest to the user’s touch point, determining which trackball should be activated or moved based on user interaction. + // Calculated positions for the second trackball + float xPosition1 = (float)chart.ValueToPoint(chart.PrimaryAxis, 6); + float yPosition1 = (float)chart.ValueToPoint(chart.SecondaryAxis, 170); -C# + // Display the first trackball + trackball1.Display(xPosition, yPosition); - ```csharp -public class ChartTrackBallBehaviorExt : ChartTrackBallBehavior -{ - . . . - private ChartTrackBallBehavior FindNearestTrackball(Point touchPoint) - { - ChartTrackBallBehavior nearestTrackball = null; - double minDistance = double.MaxValue; - - // Iterate through all trackball behaviors to find the nearest one - foreach (var trackballBehaviour in SfChart.Behaviors) - { - if (trackballBehaviour is ChartTrackBallBehaviorExt trackball) - { - // Calculate the distance between the trackball and the touch point - double distance = Math.Sqrt(Math.Pow(trackball.X - touchPoint.X, 2) + Math.Pow(trackball.Y - touchPoint.Y, 2)); - - // Update the nearest trackball if the current one is closer - if (distance < minDistance) - { - minDistance = distance; - nearestTrackball = trackball; - } - } - } - - return nearestTrackball; + // Display the second trackball + trackball2.Display(xPosition1, yPosition1); + }); } - . . . - } - ``` +} +``` -**Step 11:** To control the trackballs, simply hover over them with your mouse. As you move the mouse within the chart area, the trackball will follow the cursor, allowing you to inspect different data points interactively. +**Step 6:** To control the trackballs, simply hover over them with your mouse. As you move the mouse within the chart area, the trackball will follow the cursor, allowing you to inspect different data points interactively. **Output:** diff --git a/SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.metadata.v9.bin b/SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.metadata.v9.bin deleted file mode 100644 index b5bbc58b47c99607d9a65cbde1557431074cbadc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1367 zcmYLJX-ri|6rTG&@ZEc_o zh*4wIh!_xqP{4>h1L8thlpiKqMbQB6wk%o|R0L=A_1u{k=H;EtH|KnF&Uendd5kgf z++vlbgYI>b^}z*X}^QQIk0fIE$*3U$!71Qm}xn-lNS!A?r_id=P= z8P9Gzxp^UKU)mCiM=mB_6XQR!Hx{;jKQeniDHU&N|BkH7!m_uy)lx#L!FV;+7e7^H zx6#pVN*s#XxV*LU)O!mfpM6&B4;FS9Owsf`b1gI;n1NXm8I9h z%KD2{jV+|3kHVkHxP?jY5>@71q~kDt&d;uuvgQJ_ep;O=u^{RL8tPwII_hkKGbw%= z>mDY^gZvDVii1?&%_RN{k-u8lekU_as`OcKwf%V5!8{r)FKtZyLxPu)5;A+EGfRFF zp)8}wxhuXK>=&2Uyh$(|tgWS>A(`M#uy}8AN)y4!M7a8!X9K|~4Ugj5v)8xeEmVLn z-m8)YV@+4G{7LXX&{y512yVm#&;MI;2g0anlw;=+U~k;BR#mo`yaBOGdK7oG)|(6# zd1}UeM@|*Cbo`*Cr+_W$E33Uu-ZU*T9W1OXI^5|ZR%e(B_VM=t^$W>+1nCD)$~p6C z+It0Y?FlOHINjSsO*n|W@xz;>^lf0b3O#a?e_~jIzqjMq`2LlWehEhpsQ18kXzmQK ztc*?G7HV^k9`$%#;yh0HlH|MLky?5d3aWbV%fb^hcR%*k_y_eXSnlNV>;~#B9&AL? zi!07ZQgz`RxTE}cJd^S+Oe=FVWayb~*W5|Ea4xFm`Rt|2hZe7=w?A8$QJVq@r~^h f1IY%F1(Su?Vz4bj2@N3|YKvjE7)~h6_8I>J(ldb} diff --git a/SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.projects.v9.bin b/SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.projects.v9.bin deleted file mode 100644 index 6dc5eb3c5e22e00ea94bd963f56f318b226b2550..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28063 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 L-+ytHpOO4O0XNYP diff --git a/SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.strings.v9.bin b/SfChartMultipleTrackball/.vs/ProjectEvaluation/sfchartmultipletrackball.strings.v9.bin deleted file mode 100644 index 170ae679e1c199243c7a1952961db690755e5a68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128239 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 diff --git a/SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/DesignTimeBuild/.dtbcache.v2 b/SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/DesignTimeBuild/.dtbcache.v2 deleted file mode 100644 index f3a2b98e2b85c7cb2ddebd8f6586c1ab8e205095..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104520 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 G@P7b=%zXU- diff --git a/SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/.futdcache.v2 b/SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/.futdcache.v2 deleted file mode 100644 index 7879f2cf3139cea254ca7f1d834a774d6c134be4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmZQ%U|@)Fv5E-~aEl2}bIwRCD)BANDakCzNewAVOwLY9%*i2LLNB?vpeR3!31~R4 zbADc0W_oE+Vo7Fx9;-`gQfWFzKu%&wT7FS3n`2(3b3kaG;X`|%QZTsTdvcZ7*E<{l DE4Vd< diff --git a/SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/.suo b/SfChartMultipleTrackball/.vs/SfChartMultipleTrackball/v17/.suo deleted file mode 100644 index 52bf939d7b35b7b0bd3649891f26f0bb5eba5ba9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50176 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 - - - - diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml.cs b/SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml.cs deleted file mode 100644 index 583a85e..0000000 --- a/SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.Configuration; -using System.Data; -using System.Windows; - -namespace SfChartMultipleTrackball -{ - /// - /// Interaction logic for App.xaml - /// - public partial class App : Application - { - } - -} diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/AssemblyInfo.cs b/SfChartMultipleTrackball/SfChartMultipleTrackball/AssemblyInfo.cs deleted file mode 100644 index b0ec827..0000000 --- a/SfChartMultipleTrackball/SfChartMultipleTrackball/AssemblyInfo.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System.Windows; - -[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) -)] diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml b/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml deleted file mode 100644 index 0175795..0000000 --- a/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs b/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs deleted file mode 100644 index 5e440ff..0000000 --- a/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs +++ /dev/null @@ -1,187 +0,0 @@ -using Syncfusion.UI.Xaml.Charts; -using System.Reflection; -using System.Windows; -using System.Windows.Input; - -namespace SfChartMultipleTrackball -{ - /// - /// Interaction logic for MainWindow.xaml - /// - public partial class MainWindow : Window - { - public MainWindow() - { - InitializeComponent(); - trackball1.SfChart = this.chart; - trackball2.SfChart = this.chart; - } - - protected override void OnContentRendered(EventArgs e) - { - base.OnContentRendered(e); - - // Run the ShowTrackball method asynchronously - Task.Run(async () => - { - await ShowTrackball(); - }); - } - - async Task ShowTrackball() - { - // Wait for 1 second before executing the rest of the method - await Task.Delay(1000); - Application.Current.Dispatcher.Invoke(() => - { - // Calculated positions for the first trackball - float xPosition = (float)chart.ValueToPoint(chart.PrimaryAxis, 1); - float yPosition = (float)chart.ValueToPoint(chart.SecondaryAxis, 169); - - // Calculated positions for the second trackball - float xPosition1 = (float)chart.ValueToPoint(chart.PrimaryAxis, 6); - float yPosition1 = (float)chart.ValueToPoint(chart.SecondaryAxis, 170); - - // Display the first trackball - trackball1.Display(xPosition, yPosition); - - // Display the second trackball - trackball2.Display(xPosition1, yPosition1); - }); - } - } - - public class Model - { - public string Day { get; set; } - public double CPULoad { get; set; } - } - - public class ViewModel - { - public List Data { get; set; } - - public ViewModel() - { - Data = new List - { - new Model { Day = "Monday", CPULoad = 35 }, - new Model { Day = "Tuesday", CPULoad = 42 }, - new Model { Day = "Wednesday", CPULoad = 18 }, - new Model { Day = "Thursday", CPULoad = 30 }, - new Model { Day = "Friday", CPULoad = 64 }, - new Model { Day = "Saturday", CPULoad = 22 }, - new Model { Day = "Sunday", CPULoad = 10 } - }; - } - } - - public class ChartTrackBallBehaviorExt : ChartTrackBallBehavior - { - private bool isTrackballActive = false; - - public SfChart SfChart { get; set; } - - public double X { get; set; } - public double Y { get; set; } - - protected override void OnMouseEnter(MouseEventArgs e) - { - // Get the position of the mouse pointer - var touchPoint = e.GetPosition(null); - - // Find the nearest trackball to the mouse pointer - var trackball = FindNearestTrackball(touchPoint); - - // Activate the trackball if it is the nearest one - if (trackball == this) - { - isTrackballActive = true; - base.OnMouseEnter(e); - } - } - - protected override void OnMouseMove(MouseEventArgs e) - { - // Check if the trackball is activated - if (isTrackballActive) - { - // Get the position of the mouse pointer - var touchPoint = e.GetPosition(null); - - // Display the trackball at the current mouse position - Display((float)touchPoint.X, (float)touchPoint.Y); - base.OnMouseMove(e); - } - } - - protected override void OnMouseLeave(MouseEventArgs e) - { - // Deactivate the trackball - isTrackballActive = false; - } - - private ChartTrackBallBehavior FindNearestTrackball(Point touchPoint) - { - ChartTrackBallBehavior nearestTrackball = null; - double minDistance = double.MaxValue; - - // Iterate through all trackball behaviors to find the nearest one - foreach (var trackballBehaviour in SfChart.Behaviors) - { - if (trackballBehaviour is ChartTrackBallBehaviorExt trackball) - { - // Calculate the distance between the trackball and the touch point - double distance = Math.Sqrt(Math.Pow(trackball.X - touchPoint.X, 2) + Math.Pow(trackball.Y - touchPoint.Y, 2)); - - // Update the nearest trackball if the current one is closer - if (distance < minDistance) - { - minDistance = distance; - nearestTrackball = trackball; - } - } - } - - return nearestTrackball; - } - - public void Display(float x, float y) - { - X = x; Y = y; - IsActivated = true; - var point = new Point(x, y); - - // Set the internal property for the current point - SetInternalProperty(typeof(ChartTrackBallBehavior), this, point, "CurrentPoint"); - - // Trigger the pointer position changed event - base.OnPointerPositionChanged(); - - // Activate the trackball - InvokeInternalMethod(typeof(ChartTrackBallBehavior), this, "Activate", IsActivated); - } - - // Sets an internal property of an object using reflection. - internal static void SetInternalProperty(Type type, object obj, object value, string propertyName) - { - var properties = type.GetRuntimeProperties(); - - foreach (var item in properties) - { - if (item.Name == propertyName) - { - item.SetValue(obj, value); - break; - } - } - } - - // Invokes an internal method of an object using reflection. - internal static object? InvokeInternalMethod(Type type, object obj, string methodName, params object[] args) - { - var method = type.GetTypeInfo().GetDeclaredMethod(methodName); - return method?.Invoke(obj, args); - } - } -} \ No newline at end of file diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj b/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj deleted file mode 100644 index 52478d0..0000000 --- a/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - WinExe - net8.0-windows - enable - enable - true - - - - - - - diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj.user b/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj.user deleted file mode 100644 index 644b0a6..0000000 --- a/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj.user +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - Designer - - - - - Designer - - - \ No newline at end of file From 5c912ce17f9c2e05f7c433205f33da2840d12810 Mon Sep 17 00:00:00 2001 From: subash_s Date: Tue, 29 Oct 2024 18:08:14 +0530 Subject: [PATCH 3/8] Added the sample --- .../SfChartMultipleTrackball.sln | 25 +++ .../SfChartMultipleTrackball/App.xaml | 9 + .../SfChartMultipleTrackball/App.xaml.cs | 14 ++ .../SfChartMultipleTrackball/AssemblyInfo.cs | 10 + .../SfChartMultipleTrackball/MainWindow.xaml | 64 ++++++ .../MainWindow.xaml.cs | 187 ++++++++++++++++++ .../SfChartMultipleTrackball/Model/Model.cs | 14 ++ .../SfChartMultipleTrackball.csproj | 15 ++ .../SfChartMultipleTrackball.csproj.user | 14 ++ .../ViewModel/ViewModel.cs | 21 ++ 10 files changed, 373 insertions(+) create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball.sln create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml.cs create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/AssemblyInfo.cs create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/Model/Model.cs create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj.user create mode 100644 SfChartMultipleTrackball/SfChartMultipleTrackball/ViewModel/ViewModel.cs diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball.sln b/SfChartMultipleTrackball/SfChartMultipleTrackball.sln new file mode 100644 index 0000000..57c64ea --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35327.3 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SfChartMultipleTrackball", "SfChartMultipleTrackball\SfChartMultipleTrackball.csproj", "{E5B30519-D065-42FC-B89A-B435C07011D9}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E5B30519-D065-42FC-B89A-B435C07011D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E5B30519-D065-42FC-B89A-B435C07011D9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E5B30519-D065-42FC-B89A-B435C07011D9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E5B30519-D065-42FC-B89A-B435C07011D9}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {0CA07FB0-0F65-49F3-AFCC-11C28CE1D119} + EndGlobalSection +EndGlobal diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml b/SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml new file mode 100644 index 0000000..52a5812 --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml.cs b/SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml.cs new file mode 100644 index 0000000..583a85e --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/App.xaml.cs @@ -0,0 +1,14 @@ +using System.Configuration; +using System.Data; +using System.Windows; + +namespace SfChartMultipleTrackball +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + } + +} diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/AssemblyInfo.cs b/SfChartMultipleTrackball/SfChartMultipleTrackball/AssemblyInfo.cs new file mode 100644 index 0000000..b0ec827 --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/AssemblyInfo.cs @@ -0,0 +1,10 @@ +using System.Windows; + +[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) +)] diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml b/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml new file mode 100644 index 0000000..0175795 --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs b/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs new file mode 100644 index 0000000..5e440ff --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs @@ -0,0 +1,187 @@ +using Syncfusion.UI.Xaml.Charts; +using System.Reflection; +using System.Windows; +using System.Windows.Input; + +namespace SfChartMultipleTrackball +{ + /// + /// Interaction logic for MainWindow.xaml + /// + public partial class MainWindow : Window + { + public MainWindow() + { + InitializeComponent(); + trackball1.SfChart = this.chart; + trackball2.SfChart = this.chart; + } + + protected override void OnContentRendered(EventArgs e) + { + base.OnContentRendered(e); + + // Run the ShowTrackball method asynchronously + Task.Run(async () => + { + await ShowTrackball(); + }); + } + + async Task ShowTrackball() + { + // Wait for 1 second before executing the rest of the method + await Task.Delay(1000); + Application.Current.Dispatcher.Invoke(() => + { + // Calculated positions for the first trackball + float xPosition = (float)chart.ValueToPoint(chart.PrimaryAxis, 1); + float yPosition = (float)chart.ValueToPoint(chart.SecondaryAxis, 169); + + // Calculated positions for the second trackball + float xPosition1 = (float)chart.ValueToPoint(chart.PrimaryAxis, 6); + float yPosition1 = (float)chart.ValueToPoint(chart.SecondaryAxis, 170); + + // Display the first trackball + trackball1.Display(xPosition, yPosition); + + // Display the second trackball + trackball2.Display(xPosition1, yPosition1); + }); + } + } + + public class Model + { + public string Day { get; set; } + public double CPULoad { get; set; } + } + + public class ViewModel + { + public List Data { get; set; } + + public ViewModel() + { + Data = new List + { + new Model { Day = "Monday", CPULoad = 35 }, + new Model { Day = "Tuesday", CPULoad = 42 }, + new Model { Day = "Wednesday", CPULoad = 18 }, + new Model { Day = "Thursday", CPULoad = 30 }, + new Model { Day = "Friday", CPULoad = 64 }, + new Model { Day = "Saturday", CPULoad = 22 }, + new Model { Day = "Sunday", CPULoad = 10 } + }; + } + } + + public class ChartTrackBallBehaviorExt : ChartTrackBallBehavior + { + private bool isTrackballActive = false; + + public SfChart SfChart { get; set; } + + public double X { get; set; } + public double Y { get; set; } + + protected override void OnMouseEnter(MouseEventArgs e) + { + // Get the position of the mouse pointer + var touchPoint = e.GetPosition(null); + + // Find the nearest trackball to the mouse pointer + var trackball = FindNearestTrackball(touchPoint); + + // Activate the trackball if it is the nearest one + if (trackball == this) + { + isTrackballActive = true; + base.OnMouseEnter(e); + } + } + + protected override void OnMouseMove(MouseEventArgs e) + { + // Check if the trackball is activated + if (isTrackballActive) + { + // Get the position of the mouse pointer + var touchPoint = e.GetPosition(null); + + // Display the trackball at the current mouse position + Display((float)touchPoint.X, (float)touchPoint.Y); + base.OnMouseMove(e); + } + } + + protected override void OnMouseLeave(MouseEventArgs e) + { + // Deactivate the trackball + isTrackballActive = false; + } + + private ChartTrackBallBehavior FindNearestTrackball(Point touchPoint) + { + ChartTrackBallBehavior nearestTrackball = null; + double minDistance = double.MaxValue; + + // Iterate through all trackball behaviors to find the nearest one + foreach (var trackballBehaviour in SfChart.Behaviors) + { + if (trackballBehaviour is ChartTrackBallBehaviorExt trackball) + { + // Calculate the distance between the trackball and the touch point + double distance = Math.Sqrt(Math.Pow(trackball.X - touchPoint.X, 2) + Math.Pow(trackball.Y - touchPoint.Y, 2)); + + // Update the nearest trackball if the current one is closer + if (distance < minDistance) + { + minDistance = distance; + nearestTrackball = trackball; + } + } + } + + return nearestTrackball; + } + + public void Display(float x, float y) + { + X = x; Y = y; + IsActivated = true; + var point = new Point(x, y); + + // Set the internal property for the current point + SetInternalProperty(typeof(ChartTrackBallBehavior), this, point, "CurrentPoint"); + + // Trigger the pointer position changed event + base.OnPointerPositionChanged(); + + // Activate the trackball + InvokeInternalMethod(typeof(ChartTrackBallBehavior), this, "Activate", IsActivated); + } + + // Sets an internal property of an object using reflection. + internal static void SetInternalProperty(Type type, object obj, object value, string propertyName) + { + var properties = type.GetRuntimeProperties(); + + foreach (var item in properties) + { + if (item.Name == propertyName) + { + item.SetValue(obj, value); + break; + } + } + } + + // Invokes an internal method of an object using reflection. + internal static object? InvokeInternalMethod(Type type, object obj, string methodName, params object[] args) + { + var method = type.GetTypeInfo().GetDeclaredMethod(methodName); + return method?.Invoke(obj, args); + } + } +} \ No newline at end of file diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/Model/Model.cs b/SfChartMultipleTrackball/SfChartMultipleTrackball/Model/Model.cs new file mode 100644 index 0000000..d793c40 --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/Model/Model.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SfChartMultipleTrackball +{ + public class Model + { + public string? Day { get; set; } + public double CPULoad { get; set; } + } +} diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj b/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj new file mode 100644 index 0000000..52478d0 --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj @@ -0,0 +1,15 @@ + + + + WinExe + net8.0-windows + enable + enable + true + + + + + + + diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj.user b/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj.user new file mode 100644 index 0000000..644b0a6 --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/SfChartMultipleTrackball.csproj.user @@ -0,0 +1,14 @@ + + + + + + Designer + + + + + Designer + + + \ No newline at end of file diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/ViewModel/ViewModel.cs b/SfChartMultipleTrackball/SfChartMultipleTrackball/ViewModel/ViewModel.cs new file mode 100644 index 0000000..fc15421 --- /dev/null +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/ViewModel/ViewModel.cs @@ -0,0 +1,21 @@ +namespace SfChartMultipleTrackball +{ + public class ViewModel + { + public List Data { get; set; } + + public ViewModel() + { + Data = new List + { + new Model { Day = "Monday", CPULoad = 35 }, + new Model { Day = "Tuesday", CPULoad = 42 }, + new Model { Day = "Wednesday", CPULoad = 18 }, + new Model { Day = "Thursday", CPULoad = 30 }, + new Model { Day = "Friday", CPULoad = 64 }, + new Model { Day = "Saturday", CPULoad = 22 }, + new Model { Day = "Sunday", CPULoad = 10 } + }; + } + } +} From 591f90f7bd57820d534cc819ff3e3baad667d479 Mon Sep 17 00:00:00 2001 From: subash_s Date: Tue, 29 Oct 2024 18:29:51 +0530 Subject: [PATCH 4/8] changes made --- README.md | 5 +- .../MainWindow.xaml.cs | 52 ++++++------------- 2 files changed, 16 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 83c620d..f28aaa8 100644 --- a/README.md +++ b/README.md @@ -229,7 +229,4 @@ public partial class MainWindow : Window ### Path too long exception If you are facing a path too long exception when building this example project, close Visual Studio and rename the repository to short and build the project. -For more details, refer to the KB on [How to add multiple trackballs in a WPF SfChart?](https://support.syncfusion.com/agent/kb/17741/edit). - - - +For more details, refer to the KB on [How to add multiple trackballs in a WPF SfChart?](). \ No newline at end of file diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs b/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs index 5e440ff..9b61a67 100644 --- a/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml.cs @@ -51,36 +51,11 @@ async Task ShowTrackball() } } - public class Model - { - public string Day { get; set; } - public double CPULoad { get; set; } - } - - public class ViewModel - { - public List Data { get; set; } - - public ViewModel() - { - Data = new List - { - new Model { Day = "Monday", CPULoad = 35 }, - new Model { Day = "Tuesday", CPULoad = 42 }, - new Model { Day = "Wednesday", CPULoad = 18 }, - new Model { Day = "Thursday", CPULoad = 30 }, - new Model { Day = "Friday", CPULoad = 64 }, - new Model { Day = "Saturday", CPULoad = 22 }, - new Model { Day = "Sunday", CPULoad = 10 } - }; - } - } - public class ChartTrackBallBehaviorExt : ChartTrackBallBehavior { private bool isTrackballActive = false; - public SfChart SfChart { get; set; } + public SfChart? SfChart { get; set; } public double X { get; set; } public double Y { get; set; } @@ -121,24 +96,27 @@ protected override void OnMouseLeave(MouseEventArgs e) isTrackballActive = false; } - private ChartTrackBallBehavior FindNearestTrackball(Point touchPoint) + private ChartTrackBallBehavior? FindNearestTrackball(Point touchPoint) { - ChartTrackBallBehavior nearestTrackball = null; + ChartTrackBallBehavior? nearestTrackball = null; double minDistance = double.MaxValue; // Iterate through all trackball behaviors to find the nearest one - foreach (var trackballBehaviour in SfChart.Behaviors) + if (SfChart != null) { - if (trackballBehaviour is ChartTrackBallBehaviorExt trackball) + foreach (var trackballBehaviour in SfChart.Behaviors) { - // Calculate the distance between the trackball and the touch point - double distance = Math.Sqrt(Math.Pow(trackball.X - touchPoint.X, 2) + Math.Pow(trackball.Y - touchPoint.Y, 2)); - - // Update the nearest trackball if the current one is closer - if (distance < minDistance) + if (trackballBehaviour is ChartTrackBallBehaviorExt trackball) { - minDistance = distance; - nearestTrackball = trackball; + // Calculate the distance between the trackball and the touch point + double distance = Math.Sqrt(Math.Pow(trackball.X - touchPoint.X, 2) + Math.Pow(trackball.Y - touchPoint.Y, 2)); + + // Update the nearest trackball if the current one is closer + if (distance < minDistance) + { + minDistance = distance; + nearestTrackball = trackball; + } } } } From 69066b2a1c0931c9cdaca71ede71f68747170a51 Mon Sep 17 00:00:00 2001 From: subash-sf Date: Tue, 29 Oct 2024 19:00:23 +0530 Subject: [PATCH 5/8] Update README.md --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f28aaa8..fb07fc8 100644 --- a/README.md +++ b/README.md @@ -169,7 +169,9 @@ public class ChartTrackBallBehaviorExt : ChartTrackBallBehavior } ``` -**Step 5:** In the constructor of your MainWindow class, initialize the trackballs by setting their SfChart property to the chart defined in your XAML. This ensures that the trackballs are associated with the correct chart instance and accessible in other classes. Override the **OnContentRendered** method to run an asynchronous task that calls ShowTrackball(). Implement the **ShowTrackball** method to calculate positions and display the trackballs at load time using the Display method. +**Step 5:** Assign the chart instance to the **SfChart** property in the **ChartTrackBallBehaviorExt** class, and override the **OnContentRendered** method to run the asynchronous task that calls **ShowTrackball** method. + +The **ShowTrackballMethod** method calculates the positions and displays the trackballs on the chart. C# @@ -229,4 +231,4 @@ public partial class MainWindow : Window ### Path too long exception If you are facing a path too long exception when building this example project, close Visual Studio and rename the repository to short and build the project. -For more details, refer to the KB on [How to add multiple trackballs in a WPF SfChart?](). \ No newline at end of file +For more details, refer to the KB on [How to add multiple trackballs in a WPF SfChart?](). From 437e9f0a988b4adff12c62881effb7f4fe746b87 Mon Sep 17 00:00:00 2001 From: subash_s Date: Wed, 30 Oct 2024 11:24:19 +0530 Subject: [PATCH 6/8] added ui customization --- .../SfChartMultipleTrackball/MainWindow.xaml | 86 ++++++++++++++----- .../SfChartMultipleTrackball/Model/Model.cs | 8 +- .../ViewModel/ViewModel.cs | 4 +- 3 files changed, 67 insertions(+), 31 deletions(-) diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml b/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml index 0175795..7826457 100644 --- a/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/MainWindow.xaml @@ -10,46 +10,88 @@ - + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + - + - + diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/Model/Model.cs b/SfChartMultipleTrackball/SfChartMultipleTrackball/Model/Model.cs index d793c40..1537f01 100644 --- a/SfChartMultipleTrackball/SfChartMultipleTrackball/Model/Model.cs +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/Model/Model.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace SfChartMultipleTrackball +namespace SfChartMultipleTrackball { public class Model { diff --git a/SfChartMultipleTrackball/SfChartMultipleTrackball/ViewModel/ViewModel.cs b/SfChartMultipleTrackball/SfChartMultipleTrackball/ViewModel/ViewModel.cs index fc15421..d1ead73 100644 --- a/SfChartMultipleTrackball/SfChartMultipleTrackball/ViewModel/ViewModel.cs +++ b/SfChartMultipleTrackball/SfChartMultipleTrackball/ViewModel/ViewModel.cs @@ -10,8 +10,8 @@ public ViewModel() { new Model { Day = "Monday", CPULoad = 35 }, new Model { Day = "Tuesday", CPULoad = 42 }, - new Model { Day = "Wednesday", CPULoad = 18 }, - new Model { Day = "Thursday", CPULoad = 30 }, + new Model { Day = "Wednesday", CPULoad = 28 }, + new Model { Day = "Thursday", CPULoad = 40 }, new Model { Day = "Friday", CPULoad = 64 }, new Model { Day = "Saturday", CPULoad = 22 }, new Model { Day = "Sunday", CPULoad = 10 } From 5f34e38ed6e4938c55c3fe68514716fbbd1d5b2f Mon Sep 17 00:00:00 2001 From: subash-sf Date: Wed, 30 Oct 2024 11:27:18 +0530 Subject: [PATCH 7/8] Updated output demo in README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index fb07fc8..b0b5661 100644 --- a/README.md +++ b/README.md @@ -224,8 +224,7 @@ public partial class MainWindow : Window **Output:** -![trackballDemo.gif](https://github.com/user-attachments/assets/0a01c337-49a5-479b-b04f-1719eac9a37e) - +![trackball_demo](https://github.com/user-attachments/assets/2d319594-8d8c-49f1-be27-5d9573b45344) ## Troubleshooting ### Path too long exception From 0e8498f78ad5b60d7fd49f34c274425065901a17 Mon Sep 17 00:00:00 2001 From: subash-sf Date: Wed, 30 Oct 2024 11:52:56 +0530 Subject: [PATCH 8/8] added article url in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b0b5661..954e3f8 100644 --- a/README.md +++ b/README.md @@ -230,4 +230,4 @@ public partial class MainWindow : Window ### Path too long exception If you are facing a path too long exception when building this example project, close Visual Studio and rename the repository to short and build the project. -For more details, refer to the KB on [How to add multiple trackballs in a WPF SfChart?](). +For more details, refer to the KB on [How to add multiple trackballs in a WPF SfChart?](https://support.syncfusion.com/kb/article/17741/how-to-add-multiple-trackballs-in-a-wpf-sfchart).