Ethankie Posted March 7, 2011 Report Share Posted March 7, 2011 Dear Support Team, I am evaluating the Chart Fx Wpf Trial(version 8.0.3581.26941). And With the data below zoom function stopped working(neither the scale of zoom correct nor can I adjust it with the zoom-scroll bar at the bottom of the chart). It is the key feature we want from this product. Please help me figure out what's going on.To reproduce the problem, uncomment any row of the commented code eg: //new ChartTestData{Date = DateTime.Parse("1/9/2009 12:00:00 AM") , Price = 60.08, IsEstimated = false}. Thanks very much. Xaml: <Grid> <Grid.RowDefinitions> <RowDefinition Height="auto"/> <RowDefinition/> </Grid.RowDefinitions> <Button Content="Reset" Click="Button_Click"/> <cfx:Chart Margin="4,0" x:Name="chart1" Grid.Row="1"> <cfx:Chart.Zoom> <cfx:ZoomArea Mode="Selection"/> </cfx:Chart.Zoom> <cfx:Chart.ConditionalAttributes> <cfx:ConditionalAttributes StrokeDashArray="1 2"> <cfx:ConditionalAttributes.Condition> <cfx:DelegateCondition BindingPath="X" EvaluateCondition="DelegateCondition_EvaluateCondition"/> </cfx:ConditionalAttributes.Condition> </cfx:ConditionalAttributes> </cfx:Chart.ConditionalAttributes> <cfx:Chart.AxesX> <cfx:Axis> <cfx:Axis.Labels> <cfx:AxisLabelAttributes BindingPath="Date" Format="Date"/> </cfx:Axis.Labels> </cfx:Axis> </cfx:Chart.AxesX> <cfx:Chart.AxesY> <cfx:Axis> <cfx:Axis.Labels> <cfx:AxisLabelAttributes BindingPath="Price"/> </cfx:Axis.Labels> </cfx:Axis> </cfx:Chart.AxesY> </cfx:Chart> </Grid> Code Behind: using System;using System.Collections.Generic;using System.Windows;using ChartFX.WPF;namespace ChartFxEvalue2{ /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.chart1.Series.Clear(); this.chart1.Refresh(); this.chart1.Series.Add(new SeriesAttributes("Price") { ItemsSource = LoadData(), Content = "Price", Gallery = Gallery.Line, StrokeThickness = 1, Marker = new MarkerAttributes{Visibility = Visibility.Collapsed} }); } private void DelegateCondition_EvaluateCondition(object sender, ConditionValueEventArgs args) { try { bool ret = ((ChartTestData)args.ConditionValue.DataItem).IsEstimated; args.Result = ret; } catch { } } private void Button_Click(object sender, RoutedEventArgs e) { this.chart1.Zoom.Mode = ZoomMode.Off; System.Threading.Thread.Sleep(100); this.chart1.Zoom.Mode = ZoomMode.Selection; } private static IEnumerable<ChartTestData> LoadData() { return new List<ChartTestData> { new ChartTestData{Date = DateTime.Parse("3/7/2008 12:00:00 AM") , Price = 100, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("3/14/2008 12:00:00 AM") , Price = 99.15, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("3/21/2008 12:00:00 AM") , Price = 98.81, IsEstimated = true}, new ChartTestData{Date = DateTime.Parse("3/28/2008 12:00:00 AM") , Price = 101.95, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("4/4/2008 12:00:00 AM") , Price = 106.78, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("4/11/2008 12:00:00 AM") , Price = 103.98, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("4/18/2008 12:00:00 AM") , Price = 108.81, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("4/25/2008 12:00:00 AM") , Price = 110.08, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("5/2/2008 12:00:00 AM") , Price = 110.51, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("5/9/2008 12:00:00 AM") , Price = 109.49, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("5/16/2008 12:00:00 AM") , Price = 113.14, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("5/23/2008 12:00:00 AM") , Price = 109.24, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("5/30/2008 12:00:00 AM") , Price = 110.93, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("6/6/2008 12:00:00 AM") , Price = 108.31, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("6/13/2008 12:00:00 AM") , Price = 106.53, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("6/20/2008 12:00:00 AM") , Price = 104.24, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("6/27/2008 12:00:00 AM") , Price = 101.36, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("7/4/2008 12:00:00 AM") , Price = 98.14, IsEstimated = true}, new ChartTestData{Date = DateTime.Parse("7/11/2008 12:00:00 AM") , Price = 96.44, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("7/18/2008 12:00:00 AM") , Price = 97.12, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("7/25/2008 12:00:00 AM") , Price = 96.95, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("8/1/2008 12:00:00 AM") , Price = 96.36, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("8/8/2008 12:00:00 AM") , Price = 96.95, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("8/15/2008 12:00:00 AM") , Price = 96.44, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("8/22/2008 12:00:00 AM") , Price = 96.02, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("8/29/2008 12:00:00 AM") , Price = 95.85, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("9/5/2008 12:00:00 AM") , Price = 90.25, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("9/12/2008 12:00:00 AM") , Price = 89.58, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("9/19/2008 12:00:00 AM") , Price = 89.41, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("9/26/2008 12:00:00 AM") , Price = 85.25, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("10/3/2008 12:00:00 AM") , Price = 74.49, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("10/10/2008 12:00:00 AM") , Price = 61.36, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("10/17/2008 12:00:00 AM") , Price = 62.37, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("10/24/2008 12:00:00 AM") , Price = 54.58, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("10/31/2008 12:00:00 AM") , Price = 62.46, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("11/7/2008 12:00:00 AM") , Price = 60.42, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("11/14/2008 12:00:00 AM") , Price = 54.75, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("11/21/2008 12:00:00 AM") , Price = 49.15, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("11/28/2008 12:00:00 AM") , Price = 55.68, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("12/5/2008 12:00:00 AM") , Price = 53.81, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("12/12/2008 12:00:00 AM") , Price = 56.78, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("12/19/2008 12:00:00 AM") , Price = 58.47, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("12/26/2008 12:00:00 AM") , Price = 57.71, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("1/2/2009 12:00:00 AM") , Price = 62.37, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("1/9/2009 12:00:00 AM") , Price = 60.08, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("1/16/2009 12:00:00 AM") , Price = 57.2, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("1/23/2009 12:00:00 AM") , Price = 55.85, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("1/30/2009 12:00:00 AM") , Price = 56.02, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("2/6/2009 12:00:00 AM") , Price = 59.92, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("2/13/2009 12:00:00 AM") , Price = 57.37, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("2/20/2009 12:00:00 AM") , Price = 53.47, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("2/27/2009 12:00:00 AM") , Price = 51.44, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("3/6/2009 12:00:00 AM") , Price = 47.8, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("3/13/2009 12:00:00 AM") , Price = 52.54, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("3/20/2009 12:00:00 AM") , Price = 53.81, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("3/27/2009 12:00:00 AM") , Price = 56.86, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("4/3/2009 12:00:00 AM") , Price = 59.83, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("4/10/2009 12:00:00 AM") , Price = 60.51, IsEstimated = true}, //new ChartTestData{Date = DateTime.Parse("4/17/2009 12:00:00 AM") , Price = 61.61, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("4/24/2009 12:00:00 AM") , Price = 62.2, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("5/1/2009 12:00:00 AM") , Price = 63.39, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("5/8/2009 12:00:00 AM") , Price = 67.03, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("5/15/2009 12:00:00 AM") , Price = 64.41, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("5/22/2009 12:00:00 AM") , Price = 66.19, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("5/29/2009 12:00:00 AM") , Price = 69.07, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("6/5/2009 12:00:00 AM") , Price = 70.34, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("6/12/2009 12:00:00 AM") , Price = 70.76, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("6/19/2009 12:00:00 AM") , Price = 68.39, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("6/26/2009 12:00:00 AM") , Price = 68.81, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("7/3/2009 12:00:00 AM") , Price = 67.71, IsEstimated = true}, //new ChartTestData{Date = DateTime.Parse("7/10/2009 12:00:00 AM") , Price = 66.19, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("7/17/2009 12:00:00 AM") , Price = 70.76, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("7/24/2009 12:00:00 AM") , Price = 74.32, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("7/31/2009 12:00:00 AM") , Price = 74.83, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("8/7/2009 12:00:00 AM") , Price = 75.76, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("8/14/2009 12:00:00 AM") , Price = 75.59, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("8/21/2009 12:00:00 AM") , Price = 77.12, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("8/28/2009 12:00:00 AM") , Price = 77.29, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("9/4/2009 12:00:00 AM") , Price = 77.2, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("9/11/2009 12:00:00 AM") , Price = 80.08, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("9/18/2009 12:00:00 AM") , Price = 81.19, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("9/25/2009 12:00:00 AM") , Price = 79.24, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("10/2/2009 12:00:00 AM") , Price = 77.71, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("10/9/2009 12:00:00 AM") , Price = 81.1, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("10/16/2009 12:00:00 AM") , Price = 82.88, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("10/23/2009 12:00:00 AM") , Price = 82.03, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("10/30/2009 12:00:00 AM") , Price = 78.14, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("11/6/2009 12:00:00 AM") , Price = 80.68, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("11/13/2009 12:00:00 AM") , Price = 82.46, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("11/20/2009 12:00:00 AM") , Price = 81.36, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("11/27/2009 12:00:00 AM") , Price = 81.19, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("12/4/2009 12:00:00 AM") , Price = 82.8, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("12/11/2009 12:00:00 AM") , Price = 82.29, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("12/18/2009 12:00:00 AM") , Price = 81.95, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("12/25/2009 12:00:00 AM") , Price = 83.98, IsEstimated = true}, //new ChartTestData{Date = DateTime.Parse("1/1/2010 12:00:00 AM") , Price = 83.9, IsEstimated = true}, //new ChartTestData{Date = DateTime.Parse("1/8/2010 12:00:00 AM") , Price = 86.19, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("1/15/2010 12:00:00 AM") , Price = 85.25, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("1/22/2010 12:00:00 AM") , Price = 81.86, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("1/29/2010 12:00:00 AM") , Price = 80.08, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("2/5/2010 12:00:00 AM") , Price = 79.07, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("2/12/2010 12:00:00 AM") , Price = 80.59, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("2/19/2010 12:00:00 AM") , Price = 82.54, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("2/26/2010 12:00:00 AM") , Price = 81.78, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("3/5/2010 12:00:00 AM") , Price = 85.25, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("3/12/2010 12:00:00 AM") , Price = 86.19, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("3/19/2010 12:00:00 AM") , Price = 86.61, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("3/26/2010 12:00:00 AM") , Price = 86.69, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("4/2/2010 12:00:00 AM") , Price = 88.22, IsEstimated = true}, //new ChartTestData{Date = DateTime.Parse("4/9/2010 12:00:00 AM") , Price = 89.41, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("4/16/2010 12:00:00 AM") , Price = 88.98, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("4/23/2010 12:00:00 AM") , Price = 90.08, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("4/30/2010 12:00:00 AM") , Price = 87.63, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("5/7/2010 12:00:00 AM") , Price = 80.08, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("5/14/2010 12:00:00 AM") , Price = 82.12, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("5/21/2010 12:00:00 AM") , Price = 78.39, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("5/28/2010 12:00:00 AM") , Price = 79.58, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("6/4/2010 12:00:00 AM") , Price = 78.31, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("6/11/2010 12:00:00 AM") , Price = 80.93, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("6/18/2010 12:00:00 AM") , Price = 83.39, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("6/25/2010 12:00:00 AM") , Price = 81.44, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("7/2/2010 12:00:00 AM") , Price = 77.88, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("7/9/2010 12:00:00 AM") , Price = 81.44, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("7/16/2010 12:00:00 AM") , Price = 81.1, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("7/23/2010 12:00:00 AM") , Price = 84.07, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("7/30/2010 12:00:00 AM") , Price = 83.39, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("8/6/2010 12:00:00 AM") , Price = 85.34, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("8/13/2010 12:00:00 AM") , Price = 82.29, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("8/20/2010 12:00:00 AM") , Price = 82.54, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("8/27/2010 12:00:00 AM") , Price = 82.2, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("9/3/2010 12:00:00 AM") , Price = 85.25, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("9/10/2010 12:00:00 AM") , Price = 85.85, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("9/17/2010 12:00:00 AM") , Price = 87.97, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("9/24/2010 12:00:00 AM") , Price = 90.25, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("10/1/2010 12:00:00 AM") , Price = 90.93, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("10/8/2010 12:00:00 AM") , Price = 92.03, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("10/15/2010 12:00:00 AM") , Price = 93.47, IsEstimated = false}, //new ChartTestData{Date = DateTime.Parse("10/22/2010 12:00:00 AM") , Price = 92.97, IsEstimated = false}, new ChartTestData{Date = DateTime.Parse("10/29/2010 12:00:00 AM") , Price = 93.31, IsEstimated = true} }; } }} ChartTestData: public class ChartTestData { /// <summary> /// Gets or sets the date. /// </summary> /// <value>The date.</value> public DateTime Date { get; set; } /// <summary> /// Gets or sets the price. /// </summary> /// <value>The price.</value> public double? Price { get; set; } /// <summary> /// Gets or sets a value indicating whether this instance is estimated. /// </summary> /// <value> /// <c>true</c> if this instance is estimated; otherwise, <c>false</c>. /// </value> public bool IsEstimated { get; set; } } Quote Link to comment Share on other sites More sharing options...
JuanC Posted March 7, 2011 Report Share Posted March 7, 2011 I uncommented the line for 1/9/2009 but I do not see anything wrong in the zoomed chart. Do I have to zoom a specific portion of the chart to see the issue?Can you provide additional details (description, screenshot) of the differences with that line commented/uncommented?Do you get the same result if you do not set the Zoom.Mode in XAML but instead just set it to selection in a button? JuanC Quote Link to comment Share on other sites More sharing options...
JuanC Posted March 7, 2011 Report Share Posted March 7, 2011 BTW, binding the AxisY.Labels is not necessary so you should feel free to comment/remove the AxesY part from the XAML (unless you are setting other properties in the real app in which case I would recommend removing the BindingPath="Price" assignment from the Y axis). JuanC Quote Link to comment Share on other sites More sharing options...
Ethankie Posted March 7, 2011 Author Report Share Posted March 7, 2011 Hi JuanC, Thanks for your reply. I have tried to invoke the zoom funtion and set it to ZoomMode.Selection by clicking a button and I also removed the binding for Aixes Y. But it still doesn't work. Please take a look of the screen shots below: Before uncommenting the line and zoom works: After uncommenting the line(or actually any commentted line), zoom doesn't work: Quote Link to comment Share on other sites More sharing options...
Ethankie Posted March 8, 2011 Author Report Share Posted March 8, 2011 Here is more information for reproducing the issue: After further investigation, I found if the amount of the Data Points, which assigned to a series, meets any case listed below, Zoom doesn Quote Link to comment Share on other sites More sharing options...
Ethankie Posted March 9, 2011 Author Report Share Posted March 9, 2011 Hi , Any update on this? thanks Quote Link to comment Share on other sites More sharing options...
JuanC Posted March 9, 2011 Report Share Posted March 9, 2011 We are researching this issue. JuanC Quote Link to comment Share on other sites More sharing options...
JuanC Posted March 10, 2011 Report Share Posted March 10, 2011 We have been unable to reproduce this issue, can you please try installing our most recent hotfix, this page works for both trial and release users. Make sure you run IE as an Administrator as this page hosts an active control that will update the Chart FX DLLs JuanC Quote Link to comment Share on other sites More sharing options...
Ethankie Posted March 11, 2011 Author Report Share Posted March 11, 2011 Thanks. After i installed the hotfix, it works fine now. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.