Как выбрать элемент TreeView из кода

У меня есть три уровня дерева. Как выбрать любой элемент третьего уровня из кода? Я попробовал метод, упомянутый во многих блогах и в stackoverflow, но, похоже, он работает только для первого уровня (dbObject равен null для элементов ниже первого уровня).

Вот код, который я использую для выбора TreeViewItem. Я что-то пропустил?

public static void SetSelectedItem(this TreeView control, object item)
{
    try
    {
        var dObject = control.ItemContainerGenerator.ContainerFromItem(item);

        //uncomment the following line if UI updates are unnecessary
        ((TreeViewItem)dObject).IsSelected = true;

        MethodInfo selectMethod = typeof(TreeViewItem).GetMethod("Select",
            BindingFlags.NonPublic | BindingFlags.Instance);

        selectMethod.Invoke(dObject, new object[] { true });
    }
    catch { }
}

Ответы на вопрос(6)

Ваш ответ на вопрос