Hi, I have an application which dynamically changes the stacking style for a 3D chart. It would appear that the values I am passing to the chart cause it run very slowly and sometimes use up all available memory. This behaviour only appears to occur for some combination of stacking styles with 3D views. I have included a small sample project with demonstrates the issue when you click the Update button. If you remove the "/ 100000" in the property setters, the program will run very slowly or become non-responsive. The smaller the value you use (say 1,000; 100; 100) the slower it runs. I am using Visual Studio 2010 on a Windows 7 machine. Please let me know if you require more information. Jonathan
MainWindow.xaml File =====================================================
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:WPF="clr-namespace:ChartFX.WPF;assembly=ChartFX.WPF"
Title="MainWindow" Height="500" Width="900">
MainWindow.xaml.cs File=====================================================
using System.Collections.Generic;
using System.Windows;
using ChartFX.WPF;
namespace WpfApplication2 {
public class SalesTerritory {
double _salesThisYear;
double _salesPriorYear;
public SalesTerritory(string id, string name, double salesThisYear, double salesLastYear) {
Id = id;
Name = name;
SalesThisYear = salesThisYear;
SalesLastYear = salesLastYear;
}
public string Id { get; set; }
public string Name { get; set; }
public double SalesThisYear { get { return _salesThisYear; } set { _salesThisYear = value / 100000; } }
public double SalesLastYear { get { return _salesPriorYear; } set { _salesPriorYear = value / 100000; } }
}
public partial class MainWindow {
public MainWindow() {
InitializeComponent();
List territoryData = new List{
new SalesTerritory("1", "Northwest", 5767341.9752, 3298694.4938),
new SalesTerritory("2", "Northeast", 3857163.6331, 3607148.9371),
new SalesTerritory("3", "Central", 4677108.269, 3205014.0767),
new SalesTerritory("4", "Southwest", 8351296.7411, 5366575.7098),
new SalesTerritory("5", "Southeast", 2851419.0435, 3925071.4318),
new SalesTerritory("6", "Canada", 6917270.8842, 5693988.86),
new SalesTerritory("7", "France", 3899045.694, 2396539.7601),
new SalesTerritory("8", "Germany", 2481039.1786, 1307949.7917),
new SalesTerritory("9", "Australia", 1977474.8096, 2278548.9776),
new SalesTerritory("10", "United Kingdom", 3514865.9051, 1635823.3967)
};
chart1.ItemsSource = territoryData;
chart1.View3D.IsEnabled = true;
chart1.AllSeries.StackedStyle = StackedStyle.Stacked100;
}
private void update_OnClick(object sender, RoutedEventArgs e) {
chart1.AllSeries.StackedStyle = StackedStyle.Normal;
}
}
}