Back to Devexpress

SymbolSegmentsMapping Class

wpf-devexpress-dot-xpf-dot-gauges-ea329fd0.md

latest4.3 KB
Original Source

SymbolSegmentsMapping Class

Contains properties to define how a custom symbol should be displayed on a digital gauge control.

Namespace : DevExpress.Xpf.Gauges

Assembly : DevExpress.Xpf.Gauges.v25.2.dll

NuGet Package : DevExpress.Wpf.Gauges

Declaration

csharp
public class SymbolSegmentsMapping :
    GaugeDependencyObject
vb
Public Class SymbolSegmentsMapping
    Inherits GaugeDependencyObject

Remarks

An object of the SymbolSegmentsMapping class can be accessed as an item of the SymbolDictionary object, which is returned by the SymbolViewBase.CustomSymbolMapping property.

Example

This example demonstrates how to display custom characters on a DigitalGaugeControl. This is done via the Custom Symbol Mapping feature that defines which segments should be activated for every custom character.

In this sample we will display “HELLO.” using the 7 Segment View type. Note that, by default, these characters can’t be displayed in this view (because 7 segments are not enough to provide unique representations for all Latin characters), but some characters can be efficiently displayed via custom symbol mapping.

For this, it is necessary to use the SymbolSegmentsMapping.SegmentsStates property to specify appropriate segment states for every desired character. In our case, these will be the following characters: “H”, “E”, “L”, “O”, “.” Note that for the dot character, we set the SymbolSegmentsMapping.SymbolType property value to Additional , so that it will be displayed in the same segment with the previous character.

Then, we specify the text that should be displayed on the segments panel via the DigitalGaugeControl.Text property.

xaml
<Window x:Class="CustomSymbolMapping.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:dxga="http://schemas.devexpress.com/winfx/2008/xaml/gauges"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <dxga:DigitalGaugeControl Name="digitalGaugeControl1" Text="HELLO.">
            <dxga:DigitalGaugeControl.SymbolView>
                <dxga:SevenSegmentsView>
                    <dxga:SevenSegmentsView.CustomSymbolMapping>
                        <dxga:SymbolSegmentsMapping Symbol="H" SegmentsStates="0 1 1 0 1 1 1"/>
                        <dxga:SymbolSegmentsMapping Symbol="E" SegmentsStates="1 0 0 1 1 1 1"/>
                        <dxga:SymbolSegmentsMapping Symbol="L" SegmentsStates="0 0 0 1 1 1 0"/>
                        <dxga:SymbolSegmentsMapping Symbol="O" SegmentsStates="1 1 1 1 1 1 0" />
                        <dxga:SymbolSegmentsMapping Symbol="." SegmentsStates="0 0 0 0 0 0 0 1" 
                                                               SymbolType="Additional"/>
                    </dxga:SevenSegmentsView.CustomSymbolMapping>
                </dxga:SevenSegmentsView>
            </dxga:DigitalGaugeControl.SymbolView>
        </dxga:DigitalGaugeControl>
    </Grid>
</Window>

Inheritance

Object DispatcherObject DependencyObject Freezable GaugeDependencyObject SymbolSegmentsMapping

See Also

SymbolSegmentsMapping Members

DevExpress.Xpf.Gauges Namespace