Unfourtunatly, I will be leaving in August so October is a little far out. Also unfourtunatly, this is probably my most desired feature for the ganttView. If you don't understand why, try adding 4000 tasks to a gantt chart, and them locating one of them by name (without removing the other tasks). It's pretty much impossible. I found out how to to do half of it. In ganttview, there is an ItemsPresenter class. In ItemsPresenter, there is the private SchedulingScrollContentPresenter field which controls the scrolling. With some nice .net tricks, the scroll bar can be set (see below for code). The other half is, of course, finding the right offet. Looking at the source, I noticed that there is seperate hiearchy (I think) where from each item one can calculate the number of items above it. Using that index, I can calculate the veritcal offset for the scrollbar. Only problem is, I don't know how to correlate the GanttItem to the backend hierarchy item yet.
Finally, I'm planning to post the list of features I'd like for the GanttView sometime later in the summer, but some things that come to mind:
Set the task that is the last one not shown above the ganttview, the first one shown at the top to the ganttview, the one in the middle of the ganttview, the last one shown at the bottom, and the first one not shown at the bottom of the ganttview.
Oh, also scrolling animation would be nice :)
var ganttItemsPresenter = directoriesGanttView.Template.FindName(
var ganttItemsPresenterType = ganttItemsPresenter.GetType();
var fieldInfo = ganttItemsPresenterType.GetField(
, BindingFlags.NonPublic | BindingFlags.Instance);
"SchedulingScrollContentPresenter field type is missing from ganttItemsPresenter"
var schedulingScrollContentPresenter =
"SchedulingScrollContentPresenter field value is missing from ganttItemsPresenter"