#c# #xaml #windows-phone-8 #expander #wptoolkit
#c# #xaml #windows-phone-8 #расширитель #wptoolkit
Вопрос:
У меня есть список toolkit:ExpanderView
элементов, которые должны расширяться при нажатии. Но их содержимое было довольно большим, поэтому я хотел загрузить его после нажатия. Итак, в событии пользовательского интерфейса я загружаю содержимое, но оно открывается лишь немного, как будто нет содержимого для показа. После закрытия и повторного открытия он работает.
Я предполагаю, что ExpanderView не ожидает моего метода обработки событий пользовательского интерфейса, а просто начинает расширяться автоматически. Если я попытаюсь закрыть его, загрузить и открыть снова, он просто закроется. Я думаю, это слишком много действий, потому что это open-close-open.
Есть ли способ перезаписать метод expand или запретить автоматическое развертывание и сделать это самостоятельно?
https://github.com/nokiadatagathering/WP7-Official/blob/master/Microsoft.Телефон.Элементы управления.Toolkit / ExpanderView / ExpanderView.cs < — это тот же файл, который есть у меня в моем toolkit? Где я могу найти и отредактировать его на своем компьютере?
Редактировать:
Как я вижу сейчас, нет способа обновить ExpanderView, кроме как развернуть и свернуть его : (
Мне удалось установить его HitTestVisible = False
, но он внутри кнопки, и там я могу загрузить развернутую часть, а ЗАТЕМ установить ее в IsExpanded = True
. Но поскольку это не обновляет высоту….. Я не знаю, что еще с этим делать..
Ответ №1:
Это неприятно, но это работает:
Я нажимаю на свой ExpanderView, он хочет открыться автоматически. В то же время я запускаю событие «Tap», которое загружает необходимый контент в ViewModel выбранного Expanderview, и после его загрузки я использую
contact.IsExpanded = false;
exp.UpdateLayout();
contact.IsExpanded = true;
Это нехорошо. Но он загружает нужный мне материал после нажатия, а не при загрузке всего представления, и он расширяется с новым содержимым без заикания.