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. Мышь не найдена. Пожалуйста, подсоедините мышь.

Как экспортировать контакты из iPhone

The type or namespace name 'IISOle' could not be found (are you missing a using directive or an assembly reference?)