<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.