У меня есть трехуровневое дерево. Как выбрать любой элемент на третьем уровне из кода? Я попробовал метод, упомянутый во многих блогах и в 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 { }
}