powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Обновление связанного с TreeView источника данных (List)
1 сообщений из 1, страница 1 из 1
Обновление связанного с TreeView источника данных (List)
    #37097115
levcom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По запросу по path от WCF-сервиса получаю набор данных List<T>. Необходимо заполнить lazy treeview, для чего использовал шаблон

Поскольку загрузка дочерных элементов дело долгое (до 30 сек), то корень всегда хранится в кэше, и корень заполняется на основе его, однако я хотел, чтобы доерние элементы когда подгрузятся обновляли соответствующий TreeViewItem и Expended, однако форма обновлятся не хочет.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
HierarchicalDataTemplate template = new HierarchicalDataTemplate(typeof(LogicType));
Binding binding = new Binding("SubView");
binding.IsAsync = true;
binding.Mode = BindingMode.OneWay;
template.ItemsSource = binding;

FrameworkElementFactory facroryTextBlock = new FrameworkElementFactory(typeof(TextBlock));
Binding bindingProp = new Binding("Name");
facroryTextBlock.SetBinding(TextBlock.TextProperty, bindingProp);
template.VisualTree = facroryTextBlock;

По запросу по path от WCF-сервиса получаю набор данных List<T>. Необходимо заполнить lazy treeview, для чего использовал шаблон

Поскольку загрузка дочерных элементов дело долгое (до 30 сек), то корень всегда хранится в кэше, и корень заполняется на основе его, однако я хотел, чтобы доерние элементы когда подгрузятся обновляли соответствующий TreeViewItem и Expended, однако форма обновлятся не хочет.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
LogicType : INotifyPropertyChanged
{
...
public List<LogicType> SubView
        {
            get
            {
                if (!isExpend)
                {
                    AsyncLoadHandler ah = new AsyncLoadHandler(AsyncLoad);
                    ah.BeginInvoke(null, null);
                    isExpend = true;
                    return list;
                }
                else
                {
                    return list;
                }
            }
        }
}

После загрузки данных LogicType вызывает OnPropertyChanged("SubView"); - как я считал, соответствующий элемент на TreeVew должен обновится.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Обновление связанного с TreeView источника данных (List)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]