Treeview ContainerFromItem всегда возвращает null

Я прочитал несколько веток по этой теме, но не смог найти ничего, что могло бы сделать то, что я пытаюсь сделать. У меня есть древовидное представление, привязанное к иерархическому набору объектов. Каждый из этих объектов представляет собой значок на карте. Когда пользователь щелкает один из значков на карте, я хочу выбрать элемент в дереве, сфокусироваться на нем и прокрутить его до просмотра.Объект карты имеет список объектов, привязанных к древовидной структуре. В этом примере 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. Есть идеи?

7
задан H.B. 2 April 2012 в 12:19
поделиться