<esri:TimeSlider x:Name="timeControl" Grid.Row="1" TimeMode="TimeExtent" PlaySpeed="0:0:1.5" Height="20" Width="200"/>
private void cbxLayers_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ArcGISDynamicMapServiceLayer dlyr = null;
ComboBoxItem cbi = ((sender as ComboBox).SelectedValue as ComboBoxItem);
foreach (Layer l in _Map.Layers)
{
if (l.ID.ToLower() == cbi.Content.ToString().ToLower())
{
if (l is ArcGISDynamicMapServiceLayer) // need to add other time enabled layers later..
{
dlyr = l as ArcGISDynamicMapServiceLayer;
}
break;
}
}
// time slider is in a tab control, on a tab called tabTime - hide if layer does not support Time Extent
TabItem tab = tabQueryType.FindName("tabTime") as TabItem;
if (dlyr == null)
{
tab.Visibility = Visibility.Collapsed;
}
else if (dlyr.TimeExtent == null)
{
tab.Visibility = Visibility.Collapsed;
}
else
{
tab.Visibility = Visibility.Visible;
Binding b = new Binding("Layers[" + dlyr.ID + "].TimeExtent.Start");
b.Source = _Map;
b.Mode = BindingMode.OneWay;
timeControl.SetBinding(TimeSlider.MinimumValueProperty, b);
b = new Binding("Layers[" + dlyr.ID + "].TimeExtent.End");
b.Source = _Map;
b.Mode = BindingMode.OneWay;
timeControl.SetBinding(TimeSlider.MaximumValueProperty, b);
b = new Binding("Layers[" + dlyr.ID + "].TimeExtent");
b.Source = _Map;
b.Mode = BindingMode.OneWay;
timeControl.SetBinding(TimeSlider.ValueProperty, b);
List<DateTime> times = new List<DateTime>();
DateTime dt = dlyr.TimeExtent.Start;
while (dt < dlyr.TimeExtent.End)
{
times.Add(dt);
dt = dt.AddDays(7);
}
timeControl.Intervals = times;
}
tabQueryType.SelectedIndex = 0;
}
Did you set the binding of the Map.TimeExtent to the TimeSlider.Value?
Binding b = new Binding("Value");
b.Source = timeControl;
_Map.SetBinding(Map.TimeExtentProperty, b);
Hi Terry,
I need to create TimeSlider in my project, I follow your step in your question but my timeslider doesn't work, can you please send me full code for your xaml & xaml.cs of your timeslider? Please, I need your help. my email rizky.davit@gmail.com
Thanks.
There are a few time slider samples in the interactive SDK. For example the Map Service - TimeSlider sample.