Запрет расширения ExpanderView при щелчке или перезаписи метода расширения

У меня есть список toolkit:ExpanderViewэлементы, которые должны раскрываться при нажатии / нажатии. Но их содержание было довольно большим, поэтому я хотел загрузить его после нажатия / постукивания. Таким образом, в UI-событии я загружаю контент, но он открывается только немного, как будто нет контента для показа. После закрытия и открытия снова он работает.

Я предполагаю, что ExpanderView не ждет моего метода обработки событий пользовательского интерфейса, а просто начинает расширяться автоматически. Если я пытаюсь закрыть его, загрузить и открыть снова, он просто закрывается. Я думаю, что это слишком много действий, потому что это открыто-закрыто-открыто.

Есть ли способ перезаписать метод расширения или предотвратить автоматическое расширение и сделать это самостоятельно?

https://github.com/nokiadatagathering/WP7-Official/blob/master/Microsoft.Phone.Controls.Toolkit/ExpanderView/ExpanderView.cs <- это тот же файл, который есть в моем наборе инструментов? Где я могу найти и отредактировать его на моем ПК?

Редактировать:

Как я вижу сейчас, нет способа обновить ExpanderView, кроме его разворачивания и свертывания:(

Мне удалось установить его HitTestVisible = False, но это внутри кнопки, и там я могу загрузить расширенную часть и затем установить его IsExpanded = True, Но так как он не обновляет высоту..... Я не знаю, что еще с этим делать..

1 ответ

Решение

Это не хорошо, но это работает:

Я нажимаю на мой ExpanderView, он хочет открыть автоматически. В то же время я запускаю событие "Tap", которое загружает необходимый контент в ViewModel щелкнувшего Expanderview, и после его загрузки я использую

contact.IsExpanded = false;
exp.UpdateLayout();
contact.IsExpanded = true;

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

Другие вопросы по тегам