Запретить ExpanderView разворачиваться при нажатии или перезаписи метода расширения

#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;
  

Это нехорошо. Но он загружает нужный мне материал после нажатия, а не при загрузке всего представления, и он расширяется с новым содержимым без заикания.