private static void OnInChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { var itemsControl = e.NewValue as ItemsControl; if (itemsControl == null) { return; } var itemContainerGenerator = itemsControl.ItemContainerGenerator; var indexFromContainer = itemContainerGenerator.IndexFromContainer(d); d.SetOf(indexFromContainer); }