Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

TimeSpanChartRangeControlClient.SnapAlignment Property

Specifies the measurement unit to which selection thumbs of the range control are snapped.

Namespace: DevExpress.Xpf.Charts.RangeControlClient

Assembly: DevExpress.Xpf.Charts.v24.2.dll

NuGet Package: DevExpress.Wpf.Charts

#Declaration

public TimeSpanMeasureUnit SnapAlignment { get; set; }

#Property Value

Type Description
TimeSpanMeasureUnit

A TimeSpanMeasureUnit enumeration value that represents the selection thumbs’ alignment interval.

Available values:

Name Description
Millisecond

Specifies millisecond as the measurement unit for a time-span axis.

Second

Specifies second as the measurement unit for a time-span axis.

Minute

Specifies minute as the measurement unit for a time-span axis.

Hour

Specifies hour as the measurement unit for a time-span axis.

Day

Specifies day as the measurement unit for a time-span axis.

#Remarks

Use the SnapAlignment property to snap the selection thumbs to the range interval when dragging them in the range control’s viewport.

Before using the SnapAlignment property, make sure the RangeControl.AllowSnapToInterval property is set to true.

#Example

This example demonstrates how to use the time-span chart client for a range control to display a chart with time-span data within the range control’s viewport.

In this example, a time-span chart range control client is bound to a System.Collections.Generic.List containing DataSourceItem objects.

Each DataSourceItem object contains Argument and Value properties, to which a time-span chart range control client is bound via its ChartRangeControlClient.ArgumentDataMember and ChartRangeControlClient.ValueDataMember properties.

using System;
using System.Collections.Generic;
using System.Windows;
namespace TimeSpanChartRangeControlClient {
    public class DataSourceItem {
        public object Argument { get; set; }
        public object Value { get; set; }
    }
    public partial class MainWindow : Window {
        const int dataCount = 100;
        List<DataSourceItem> data = new List<DataSourceItem>();
        List<DataSourceItem> GenerateDateTimeData() {
            List<DataSourceItem> data = new List<DataSourceItem>();
            Random rand = new Random();
            double value = 0;
            for (int i = 0; i < dataCount; i++) {
                value += (rand.NextDouble() - 0.5);
                data.Add(new DataSourceItem() { Argument = TimeSpan.FromMinutes(i * 30),
                                                Value = Math.Abs(value + Math.Sin(i * 0.6)) });
            }
            return data;
        }
        public MainWindow() {
            InitializeComponent();
            this.DataContext = GenerateDateTimeData();
        }
    }
}
See Also