Hello!
Sometimes (about 8 times from 10) we have very strange exception with your charts.
We debuged this exception and got following:
1) Stack trace exception:
2) Method
At the second time we have:
- Children count = 2 (items were added last time)
- The same logic item (Marked zone) try to be added to the layer again.
3) We got you source code of LogicalChildrenCollection.InsertItem:
In the second time - item.Parent not null and equals Anotaion Layer to which item inserting.
So item.Parent.Children is equals to this instance.
So item is removed from this collection.
Index = 2 (as collection size before invoke this method).
So base.InsertItem(2, item) invoked, but collection size is one.
So exception is thrown.
After this exception silverlight is crashed.
What we can do with this or we need to wait your fix this bug?
Please, help. This is critical issue for us. If you need more info - we try to describe this issue. But we couldn't create separate app with this exception.
Thanks, Alex.
Sometimes (about 8 times from 10) we have very strange exception with your charts.
We debuged this exception and got following:
1) Stack trace exception:
Index must be within the bounds of the List.
Parameter name: index
mscorlib.dll!System.ThrowHelper.ThrowArgumentOutOfRangeException(System.ExceptionArgument argument, System.ExceptionResource resource) Line 265 + 0x37 bytes C#
mscorlib.dll!System.Collections.Generic.List<
Telerik.Windows.Controls.Charting.ILogicalItem
>.Insert(int index = 2, Telerik.Windows.Controls.Charting.ILogicalItem item = {Telerik.Windows.Controls.Charting.MarkedZone}) Line 276 C#
mscorlib.dll!System.Collections.ObjectModel.Collection<
Telerik.Windows.Controls.Charting.ILogicalItem
>.InsertItem(int index, Telerik.Windows.Controls.Charting.ILogicalItem item) Line 91 + 0x2c bytes C#
System.Windows.dll!System.Collections.ObjectModel.ObservableCollection<
Telerik.Windows.Controls.Charting.ILogicalItem
>.InsertItem(int index = 2, Telerik.Windows.Controls.Charting.ILogicalItem item = {Telerik.Windows.Controls.Charting.MarkedZone}) Line 85 C#
Telerik.Windows.Data!Telerik.Windows.Data.RadObservableCollection<
System.__Canon
>.InsertItem(int index, System.__Canon item) Line 92 + 0x14 bytes C#
Telerik.Windows.Controls.Charting!Telerik.Windows.Controls.Charting.LogicalChildrenCollection.InsertItem(int index, Telerik.Windows.Controls.Charting.ILogicalItem item = {Telerik.Windows.Controls.Charting.MarkedZone}) Line 30 + 0xf bytes C#
mscorlib.dll!System.Collections.ObjectModel.Collection<
Telerik.Windows.Controls.Charting.ILogicalItem
>.Add(Telerik.Windows.Controls.Charting.ILogicalItem item) Line 39 + 0xb bytes C#
Telerik.Windows.Controls.Charting!Telerik.Windows.Controls.Charting.AnnotationLayer.PrepareContainerForItemOverride(System.Windows.DependencyObject element, object item) Line 26 + 0x25 bytes C#
System.Windows.dll!System.Windows.Controls.ItemsControl.MS.Internal.Controls.IGeneratorHost.PrepareItemContainer(System.Windows.DependencyObject container, object item) Line 321 + 0xc bytes C#
System.Windows.dll!System.Windows.Controls.ItemContainerGenerator.System.Windows.Controls.Primitives.IItemContainerGenerator.PrepareItemContainer(System.Windows.DependencyObject container = {Telerik.Windows.Controls.Charting.MarkedZone}) Line 1137 + 0xc bytes C#
System.Windows.dll!System.Windows.Controls.ItemsControl.AddVisualChild(int containerIndex, System.Windows.DependencyObject container, bool needPrepareContainer) Line 83 + 0x19 bytes C#
System.Windows.dll!System.Windows.Controls.ItemsControl.AddContainers() Line 60 + 0x2e bytes C#
System.Windows.dll!System.Windows.Controls.ItemsControl.RecreateVisualChildren(System.IntPtr nativeItemsControl) Line 523 + 0x7 bytes C#
[Managed to Native Transition]
System.Windows.dll!MS.Internal.XcpImports.FrameworkElement_MeasureOverride(System.Windows.FrameworkElement element = {Telerik.Windows.Controls.Charting.AnnotationLayer}, System.Windows.Size availableSize) Line 2478 + 0x33 bytes C#
System.Windows.dll!System.Windows.FrameworkElement.MeasureOverride(System.Windows.Size availableSize) Line 346 + 0x18 bytes C#
System.Windows.dll!System.Windows.FrameworkElement.MeasureOverride(System.IntPtr nativeTarget, float inWidth, float inHeight, out float outWidth = 0.0, out float outHeight = 0.0) Line 363 + 0x1b bytes C#
[Managed to Native Transition]
System.Windows.dll!MS.Internal.XcpImports.UIElement_Measure(System.Windows.UIElement element = {Telerik.Windows.Controls.Charting.AnnotationLayer}, System.Windows.Size availableSize) Line 6310 + 0x2c bytes C#
System.Windows.dll!System.Windows.UIElement.Measure(System.Windows.Size availableSize) Line 638 + 0x15 bytes C#
Telerik.Windows.Controls.Charting!Telerik.Windows.Controls.Charting.ClipPanel.MeasureOverride(System.Windows.Size availableSize) Line 41 + 0x3f bytes C#
System.Windows.dll!System.Windows.FrameworkElement.MeasureOverride(System.IntPtr nativeTarget, float inWidth, float inHeight, out float outWidth = 0.0, out float outHeight = 0.0) Line 363 + 0x1b bytes C#
[Appdomain Transition]
2) Method
RecreateVisualChildren
of ImemsControl (AnnotaionLayer) called twice. At the second time we have:
- Children count = 2 (items were added last time)
- The same logic item (Marked zone) try to be added to the layer again.
3) We got you source code of LogicalChildrenCollection.InsertItem:
protected
override
void
InsertItem(
int
index, ILogicalItem item)
{
if
(item.Parent !=
null
)
item.Parent.Children.Remove(item);
base
.InsertItem(index, item);
item.Parent =
this
.Owner;
}
In the second time - item.Parent not null and equals Anotaion Layer to which item inserting.
So item.Parent.Children is equals to this instance.
So item is removed from this collection.
Index = 2 (as collection size before invoke this method).
So base.InsertItem(2, item) invoked, but collection size is one.
So exception is thrown.
After this exception silverlight is crashed.
What we can do with this or we need to wait your fix this bug?
Please, help. This is critical issue for us. If you need more info - we try to describe this issue. But we couldn't create separate app with this exception.
Thanks, Alex.