In This Article

Converters

Actipro Gauge comes with a few built-in converters that provide additional features for use with the gauge controls.

Average Value

The DoubleAverageConverter class can be used to calculate the average of any number of values. It returns the running average of all the Double values that it has been used to convert. When calculating the running average, the entire set of previous values is not required. Therefore, calculating the running average only requires a few bytes of storage in memory.

DoubleAverageConverter can be configured to only use the last N items, where N is controlled by ValueCount.

This code shows how a DoubleAverageConverter can be declared and used to calculate the average of the last 100 values of the bar pointer:

xmlns:gauge="http://schemas.actiprosoftware.com/winfx/xaml/gauge"     
...

<Window.Resources>

	<!-- Converters -->
	<gauge:DoubleAverageConverter x:Key="DoubleAverageConverter" ValueCount="100" />

</Window.Resources>

...
						
<gauge:LinearGauge Width="200" Height="50">
	<gauge:LinearScale>
		<gauge:LinearTickSet>
			<gauge:LinearTickSet.Pointers>
				<gauge:LinearPointerBar x:Name="bar" />
				<gauge:LinearPointerMarker MarkerType="TriangleSharp" ScalePlacement="Inside" 
						Value="{Binding ElementName=bar, Path=Value, Converter={StaticResource DoubleAverageConverter}}" />
			</gauge:LinearTickSet.Pointers>
		</gauge:LinearTickSet>
	</gauge:LinearScale>
</gauge:LinearGauge>

Maximum Value

The DoubleMaximumConverter class can be used to calculate the maximum value of any number of values.

DoubleMaximumConverter can be configured to only use the last N items, where N is controlled by ValueCount.

This code shows how a DoubleMaximumConverter can be declared and used to calculate the maximum value of the last 100 values of the bar pointer:

xmlns:gauge="http://schemas.actiprosoftware.com/winfx/xaml/gauge"     
...

<Window.Resources>

	<!-- Converters -->
	<gauge:DoubleMaximumConverter x:Key="DoubleMaximumConverter" ValueCount="100" />

</Window.Resources>

...
						
<gauge:LinearGauge Width="200" Height="50">
	<gauge:LinearScale>
		<gauge:LinearTickSet>
			<gauge:LinearTickSet.Pointers>
				<gauge:LinearPointerBar x:Name="bar" />
				<gauge:LinearPointerMarker MarkerType="TriangleSharp" ScalePlacement="Inside" 
						Value="{Binding ElementName=bar, Path=Value, Converter={StaticResource DoubleMaximumConverter}}" />
			</gauge:LinearTickSet.Pointers>
		</gauge:LinearTickSet>
	</gauge:LinearScale>
</gauge:LinearGauge>

Minimum Value

The DoubleMinimumConverter class can be used to calculate the minimum value of any number of values.

DoubleMinimumConverter can be configured to only use the last N items, where N is controlled by ValueCount.

This code shows how a DoubleMinimumConverter can be declared and used to calculate the minimum value of the last 100 values of the bar pointer:

xmlns:gauge="http://schemas.actiprosoftware.com/winfx/xaml/gauge"     
...

<Window.Resources>

	<!-- Converters -->
	<gauge:DoubleMinimumConverter x:Key="DoubleMinimumConverter" ValueCount="100" />

</Window.Resources>

...
						
<gauge:LinearGauge Width="200" Height="50">
	<gauge:LinearScale>
		<gauge:LinearTickSet>
			<gauge:LinearTickSet.Pointers>
				<gauge:LinearPointerBar x:Name="bar" />
				<gauge:LinearPointerMarker MarkerType="TriangleSharp" ScalePlacement="Inside" 
						Value="{Binding ElementName=bar, Path=Value, Converter={StaticResource DoubleMinimumConverter}}" />
			</gauge:LinearTickSet.Pointers>
		</gauge:LinearTickSet>
	</gauge:LinearScale>
</gauge:LinearGauge>

Boolean to LedState

The BooleanToLedStateConverter class can be used to bind an LedState property to a Boolean property.

BooleanToLedStateConverter contains two properties: TrueState and FalseState, which indicate what LedState enumeration value to return when convert to/from true and false (and null for bool? types), respectively.