Hi,
I'm using the Q3 2016 version of the Telerik WPF controls suite. I'm having a problem using a ScatterLineSeries in tandem with the "Batch" option on XamlRenderOptions for the series. I'm using a ChartSeriesDescriptor with a style for the ScatterLineSeries that has the following:
<
Setter
Property
=
"DefaultVisualStyle"
Value
=
"{StaticResource DefaultVisualStyle}"
/>
<
Setter
Property
=
"RenderOptions"
>
<
Setter.Value
>
<
telerik:XamlRenderOptions
DefaultVisualsRenderMode
=
"Batch"
/>
</
Setter.Value
>
</
Setter
>
That "DefaultVisualStyle" resource is defined like so:
<
Style
x:Key
=
"DefaultVisualStyle"
TargetType
=
"{x:Type Path}"
>
<
Setter
Property
=
"Width"
Value
=
"10"
/>
<
Setter
Property
=
"Height"
Value
=
"10"
/>
</
Style
>
When I use those options and add data points via bindings from the ChartSeriesProvider, I get a MissingMethodException, that seems to come from the UIAutomation system:
System.MissingMethodException: Constructor on type 'Telerik.Windows.Automation.Peers.ScatterPointAutomationPeer' not found.
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, Object[] args)
at Telerik.Windows.Automation.Peers.ChartSeriesAutomationPeer.<>c__DisplayClass1.<
EnumerateDataPointPeers
>b__0()
at Telerik.Windows.Automation.Peers.ChartElementAutomationPeer.GetOrCreatePeerForElement(DependencyObject target, Func`1 createPeer)
at Telerik.Windows.Automation.Peers.ChartSeriesAutomationPeer.<
EnumerateDataPointPeers
>d__3.MoveNext()
at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
at Telerik.Windows.Automation.Peers.ScatterLineSeriesAutomationPeer.GetChildrenCore()
at System.Windows.Automation.Peers.AutomationPeer.EnsureChildren()
at System.Windows.Automation.Peers.AutomationPeer.UpdateChildrenInternal(Int32 invalidateLimit)
at System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
at System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
at System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
at System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
at System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
at System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
at System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
at System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
at System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
at System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
at System.Windows.ContextLayoutManager.fireAutomationEvents()
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Is there anything I can do to use Batch for performance on this series?