Запрет расширения 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;
Это не приятно Но он загружает то, что мне нужно, после нажатия, а не при загрузке всего представления, и расширяется с новым содержимым без заикания.