Мой вопрос прост: WHEN (на каком событии?) Могу ли я быть уверенным, что элемент управления полностью загружен и имеет свои состояния и шаблоны?
WP7 controls: Когда устанавливать VisualState после восстановления из Tombstone?
Почему я спрашиваю:
Я пытаюсь восстановить состояние моего собственного контроля WP7 после восстановления от надгробной плиты. Этот элемент управления выглядит как календарь в неделю. В этом календаре вы можете выбрать много элементов, отображаемых как цветные прямоугольники.
Если я выберу любой из них, а затем перейдите на надгробную плиту и вернитесь на страницу, мне кажется, что мой контроль забыл, какие Rectangles
были выбраны. Фактически, он НЕ забыл о самих данных, но Rectangles
забыли свое выбранное состояние.
После восстановления после захоронения я попытаюсь выбрать Rectangles
, установив их VisualState
в «Selected» (который работает в любом другом сценарии). Я узнал, что он терпит неудачу, потому что VisualStateManager
не может найти состояние "Selected"
.
Я знаю, что это сложно, потому что, возвращаясь с надгробия, элементы управления не строятся точно так же, как в любом «нормальном» случае. (например, Bindings
и Templates
не применяются в том же порядке) Но до сих пор я всегда мог доверять, что когда FrameworkElement.Loaded
уволен, у меня были готовые элементы управления. Теперь кажется, что VisualState
нет. (Я пытался установить состояние с Loaded
обработчиком событий, но результаты те же, VisualStateManager.GoToState
возвращается с false
.)
Что еще я могу сделать?
Хах! Бесконечно благодарен! Структура моих элементов управления изменилась со вчерашнего дня, но метод работает! :) Еще раз спасибо! – Tenshiko