Я прочитал несколько веток по этой теме, но не смог найти ничего, что могло бы сделать то, что я пытаюсь сделать. У меня есть древовидное представление, привязанное к иерархическому набору объектов. Каждый из этих объектов представляет собой значок на карте. Когда пользователь щелкает один из значков на карте, я хочу выбрать элемент в дереве, сфокусироваться на нем и прокрутить его до просмотра.Объект карты имеет список объектов, привязанных к древовидной структуре. В этом примере Thing - это тип объекта, привязанного к дереву.
public void ScrollIntoView(Thing t)
{
if (t != null)
{
t.IsSelected = true;
t.IsExpanded = true;
TreeViewItem container = (TreeViewItem)(masterTreeView
.ItemContainerGenerator.ContainerFromItem(t));
if (container != null)
{
container.Focus();
LogicalTreeHelper.BringIntoView(container);
}
}
}
До сих пор, что бы я ни пробовал, контейнер всегда имеет значение NULL. Есть идеи?