Telerik UI for Windows Phone by Progress

GaugeIndicator is the base class for all indicators in the indicators hierarchy, it does not define any visual representation and is an abstract class from which concrete indicators must inherit. It defines a Value property which indicates at which value in the value range the indicator points to and also defines animation related properties. The animation related properties are called AnimationDuration and AnimationEasing and control the duration and easing of the animation when an indicator changes value. For example if an indicator changes its value from 0 to 50, the user might want the transition from 0 to 50 to be animated with a specific duration and easing.

The animation capability is only useful if the gauge indicator is updated with low frequency. If the Value property changes frequently enough, for example when visualizing real-time data, the explicit animation should be stopped since the indicator will naturally appear animated. In fact, the explicit animations must be stopped for performance reasons . Starting and stopping a Storyboard object for 20 indicators 30 times per second leads to performance degradation. Below is a XAML example of an animated indicator and an image of the class hierarchy of all the other indicators that inherit from GaugeIndicator:

CopyXAML
<gauges:ArrowGaugeIndicator IsAnimated="True" AnimationDuration="0:0:0.5">
    <gauges:ArrowGaugeIndicator.AnimationEasing>
        <ElasticEase />
    </gauges:ArrowGaugeIndicator.AnimationEasing>
</gauges:ArrowGaugeIndicator>

Indicators Hierarchy