When I expand items in my treeview so that scrolling is necessary, a scrollbar appears. However, it doesn\'t scroll down for the newly expanded branch of items - they get cr
You can use a simple EventSetter in TreeViewItem style to invoke an event handler when the item is selected. Then call BringIntoView for the item.
private void TreeViewSelectedItemChanged(object sender, RoutedEventArgs e)
{
TreeViewItem item = sender as TreeViewItem;
if (item != null)
{
item.BringIntoView();
e.Handled = true;
}
}