TreeView не полностью расширяется и не выбирает элементC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 TreeView не полностью расширяется и не выбирает элемент

Сообщение Anonymous »

Я работаю с TreeView в своем приложении и имею следующую структуру:

Код: Выделить всё

-Main
--Test Category A
---A.1
----T1
----T2
--Test Category B
---B.1
----T1
----T2
Когда элемент (например, T.1) выбирается в окне поиска, я хочу, чтобы TreeView автоматически расширялся и выбирал соответствующий узел.
Ожидаемое поведение:
Если выбран T.1, TreeView должен развернуться следующим образом:

Код: Выделить всё

-Main
--Test Category A
---A.1
----T1
и выделите/выберите T.1.
Текущее поведение:
При запуске кода только родительский узел (-Main) расширен, но (категория теста A) и (A.1) не расширены.
Если я вручную разверну и свернут TreeView заранее, код будет работать так, как ожидалось, полностью раскрывая и выбирая правильный узел.
вот мой фрагмент кода:

Код: Выделить всё

public void SelectTreeViewItem(TestCaseNode selectedItem)
{
if (selectedItem == null)
return;

TestCasesTree.UpdateLayout();

var tvi = FindTviFromObjectRecursive(TestCasesTree, selectedItem);

if (tvi != null)
{
tvi.IsSelected = true;
tvi.BringIntoView();
}
}

public static TreeViewItem FindTviFromObjectRecursive(ItemsControl ic, object o)
{
if (ic == null)
return null;

TreeViewItem result = null;

foreach (object item in ic.Items)
{
TreeViewItem tvi = ic.ItemContainerGenerator.ContainerFromItem(item) as TreeViewItem;

if (tvi != null)
{
tvi.IsExpanded = true;
tvi.UpdateLayout();

if (item.Equals(o))
{
result = tvi;
}

TreeViewItem childResult = FindTviFromObjectRecursive(tvi, o);
if (childResult != null)
{
result = childResult;
}
}
}

return result;
}

Почему TreeView не может полностью развернуться и выбрать узел с первой попытки? Как я могу изменить код, чтобы гарантировать, что TreeView работает должным образом, не требуя ручного вмешательства?
Будем очень благодарны за любую помощь или подсказки! Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/793 ... elect-item
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • TreeView не полностью расширяется и не выбирает элемент
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • TreeView не полностью расширяется и не выбирает элемент
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Python Tkinter Treeview: размер столбца не расширяется до высоты окна
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • SASS выбирает элемент только в том случае, если родственный элемент не существует
    Гость » » в форуме CSS
    0 Ответы
    42 Просмотры
    Последнее сообщение Гость
  • Как я могу создать плавающий элемент div, который расширяется к краям? [закрыто]
    Anonymous » » в форуме CSS
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»