You are correct in creating a custom GanttDragDropBehavior and overriding the CanDrop method. As the desired functionality does not come out of the box, I suggest creating a custom GanttTask in which you can include a property SummaryParent (of type CustomGanttTask) and set it for each non-summary task when populating the TasksSource.
This way in the overridden CanDrop method you can check whether the SchedulingDragDropState.DestinationSlot.Start.Date and End.Date are in the range of the (SchedulingDragDropState.DraggedItem as CustomGanttTask).SummaryParent.Start and End.
You can check our Drag and Resize Configurator example from our QSF examples for reference - http://demos.telerik.com/wpf/
Hope this helps.
Telerik by Progress
Want to extend the target reach of your WPF applications, leveraging iOS, Android, and UWP? Try UI for Xamarin
, a suite of polished and feature-rich components for the Xamarin framework, which allow you to write beautiful native mobile apps using a single shared C# codebase.