Silverlight: "Тонкий" баг в TreeView при снятии выделения со всехэлементов.

Silverlight 3.0, TreeView from Toolkit October 2009.

Задача: Если снять выделение со всех элементов TreeView, то ранее выделенный элемент опять станет выделенным, если окно Silverlight тут же потеряет фокус а потом получит опять.

Решение: Недостаточно просто снять выделение с элемента TreeView, нужно так же снять с него фокус.

Вот код, который обходит эту проблему.


public static void UnseslectAllTreeViewItems(TreeView treeView)
{
    //treeView.SetSelectedContainer(null);    var selectedContainer = treeView.GetSelectedContainer();     if (selectedContainer != null    {
        selectedContainer.IsSelected = false    }
    // Bug resolving
    var focusedElement = FocusManager.GetFocusedElement();    if (focusedElement != null
        && focusedElement == selectedContainer)
    {
        treeView.Focus();
    }
}

Комментарии

Популярные сообщения из этого блога

A4tech. Мышь не найдена. Пожалуйста, подсоедините мышь.

SVN: Пропали иконки TortoiseSVN.

Вывод в cmd или bat пустой строки.