syncfusion-wpf-range-selector — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited syncfusion-wpf-range-selector (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Guide for implementing the Syncfusion® WPF Range Selector (SfDateTimeRangeNavigator) control for time-bound data visualization with interactive scrolling and navigation through large periods of time.
Use this skill when you need to:
The Range Selector control excels at scenarios where users need to explore and select portions of large time-series data, providing an intuitive scrollbar interface with smart label calculation.
The SfDateTimeRangeNavigator is a specialized control for navigating time-bound data with these key capabilities:
Core Features:
Common Scenarios:
📄 Read: references/getting-started.md
When you need to:
This reference covers complete setup from installation to first working implementation.
📄 Read: references/interactivity.md
When you need to:
This reference covers all interactive features and event handling.
📄 Read: references/label-customization.md
When you need to:
This reference covers complete label and interval customization.
📄 Read: references/tooltip-support.md
When you need to:
This reference covers tooltip display and customization.
📄 Read: references/troubleshooting.md
When you encounter:
This reference provides solutions for common issues.
<Window xmlns:syncfusion="clr-namespace:Syncfusion.UI.Xaml.Charts;assembly=Syncfusion.SfChart.WPF">
<Grid>
<!-- Main Chart -->
<syncfusion:SfChart x:Name="Chart" Margin="10">
<syncfusion:SfChart.PrimaryAxis>
<syncfusion:DateTimeAxis
ZoomPosition="{Binding ElementName=RangeNavigator, Path=ZoomPosition, Mode=TwoWay}"
ZoomFactor="{Binding ElementName=RangeNavigator, Path=ZoomFactor, Mode=TwoWay}"/>
</syncfusion:SfChart.PrimaryAxis>
<syncfusion:SfChart.SecondaryAxis>
<syncfusion:NumericalAxis/>
</syncfusion:SfChart.SecondaryAxis>
<syncfusion:LineSeries ItemsSource="{Binding Data}"
XBindingPath="Date"
YBindingPath="Value"/>
</syncfusion:SfChart>
<!-- Range Navigator -->
<syncfusion:SfDateTimeRangeNavigator x:Name="RangeNavigator"
ItemsSource="{Binding Data}"
XBindingPath="Date"
VerticalAlignment="Bottom"
Height="100"
Margin="10">
<syncfusion:SfDateTimeRangeNavigator.Content>
<syncfusion:SfLineSparkline ItemsSource="{Binding Data}"
YBindingPath="Value"/>
</syncfusion:SfDateTimeRangeNavigator.Content>
</syncfusion:SfDateTimeRangeNavigator>
</Grid>
</Window>public class DataViewModel : INotifyPropertyChanged
{
public ObservableCollection<DataPoint> Data { get; set; }
public DataViewModel()
{
Data = new ObservableCollection<DataPoint>();
DateTime startDate = DateTime.Today.AddYears(-1);
for (int i = 0; i < 365; i++)
{
Data.Add(new DataPoint
{
Date = startDate.AddDays(i),
Value = 50 + (i % 30)
});
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
public class DataPoint
{
public DateTime Date { get; set; }
public double Value { get; set; }
}Bind the navigator's zoom properties to chart axes for synchronized navigation:
<syncfusion:SfChart>
<syncfusion:SfChart.PrimaryAxis>
<syncfusion:DateTimeAxis
ZoomPosition="{Binding ElementName=RangeNavigator, Path=ZoomPosition, Mode=TwoWay}"
ZoomFactor="{Binding ElementName=RangeNavigator, Path=ZoomFactor, Mode=TwoWay}"/>
</syncfusion:SfChart.PrimaryAxis>
</syncfusion:SfChart>
<syncfusion:SfDateTimeRangeNavigator x:Name="RangeNavigator"
ItemsSource="{Binding Data}"
XBindingPath="Date"/>Access the data within the selected range:
private void OnRangeChanged(object sender, EventArgs e)
{
var navigator = sender as SfDateTimeRangeNavigator;
var selectedData = navigator.SelectedData;
// Process selected data
ProcessDataInRange(selectedData);
}Set specific interval types for label bars:
<syncfusion:SfDateTimeRangeNavigator ItemsSource="{Binding Data}"
XBindingPath="Date">
<syncfusion:SfDateTimeRangeNavigator.Intervals>
<syncfusion:Interval IntervalType="Year"/>
<syncfusion:Interval IntervalType="Month"/>
</syncfusion:SfDateTimeRangeNavigator.Intervals>
</syncfusion:SfDateTimeRangeNavigator>Enable deferred updates for large datasets:
<syncfusion:SfDateTimeRangeNavigator EnableDeferredUpdate="True"
DeferredUpdateDelay="500"
ItemsSource="{Binding LargeDataset}"
XBindingPath="Date"/>Display stock price charts with range selection for detailed analysis of specific time periods. Users can scroll through years of data and zoom into specific trading days.
Monitor system metrics over time with the ability to select and analyze specific time ranges when anomalies occurred.
Explore sales data across multiple years, quarters, and months with hierarchical time labels showing patterns at different time scales.
Navigate historical weather data with the ability to select specific date ranges for comparison and analysis.
Browse sensor readings over extended periods and select specific time windows for detailed investigation.
The Range Selector works seamlessly with:
For optimal performance with large datasets:
Next Steps: Navigate to the appropriate reference file above based on your current implementation needs.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.