private static void OnSelectedItemsChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
		{
			if( !DesignTimeHelper.GetIsInDesignMode() )
			{
				if( e.OldValue != null )
				{
					//Probabilmente c'è un handler da sganciare
					var handler = d.GetValue( selectionHandlerProperty ) as SelectionHandler;
					if( handler != null )
					{
						handler.StopSync();
						d.ClearValue( selectionHandlerProperty );
					}
				}

				if( e.NewValue != null )
				{
					//C'è un handler da agganciare
					var handler = new SelectionHandler();
					handler.SartSync( d.CastTo<ListView>(), e.NewValue.CastTo<IList>() );

					d.SetValue( selectionHandlerProperty, handler );
				}
			}
		}
		static void OnContentChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
		{
			var isDesignMode = DesignTimeHelper.GetIsInDesignMode();
			if( !isDesignMode )
			{
				Ensure.That( d.GetType() ).Is<ItemsControl>();

				d.CastTo<ItemsControl>().Loaded += onLoaded;
			}
		}