На самом деле я пытаюсь сделать Мастер управления. В котором я загружаю 3 страницы динамически, когда нажимаем следующую кнопку. Когда я нажимаю следующую кнопку, мне нужно сохранить детали страницы, поэтому я создал словарь для хранения пользовательского контроля. Есть ли какие-либо другие предложения по сохранению предыдущих деталей страницы.Как сохранить предыдущие страницы мастера?
2
A
ответ
2
Существует множество способов достижения ваших требований. Это то, что я сделал бы, что, по-моему, очень важно для шаблона проектирования MVVM.
- Определение класса ViewModel, который содержит все переменные, которые вы хотите, чтобы собрать (независимо от раздела к страницам.
- Добавить публичное свойство с именем 'CurrentPage.
- Определить кадр из wizard. Вероятно, элемент <Window> с StackPanel. У окна будет заголовок вверху и область внизу для кнопок «prev» и «next» (и «закончить», если хотите).
- В основной области StackPanel поместите a и привяжите его DataContext к V iewModel
- В ViewModel создайте команды Next и Pref (используйте Prism DelegateCommand или реализуйте собственную облегченную версию, которая выводится из ICommand. 6/Кроме того, привяжите кнопку «Готово» к команде с соответствующей логикой CanExecute (вы собрали достаточно данных?).
- Логика Next и Prev 'CanExectue' будет смотреть на currentPage. например команда Prev CanExecute вернет false, если currentPage равен 0.
- У вас будет 3 разных шаблона данных, по одному на каждую страницу. В каждом шаблоне данных будет отображаться другой поднабор свойств, которые вы хотите собирать на этой странице. Привяжите элементы управления пользовательского интерфейса к свойствам в ViewModel и используйте режим привязки в двух направлениях.
- Выведите свою ViewModel из INotifyPropertyChanged и попросите всех установщиков упустить соответствующее уведомление. Это требуется, по крайней мере, для свойства currentPage, но для завершения решения сделайте это для всех свойств.
- В команде Next и Prev метод Execute будет изменять свойство currentPage (уведомление Setter должно уведомлять об этом). Представление будет обновляться автоматически.
- Для основной области ItemControl реализуется WizardTemplateSelector, полученный из DataTemplateSelector. Определите его как ресурс и назначьте ItemControl.ContentTemplateSelector с помощью связывания {StaticResource}.
- Если вы хотите, вы также можете иметь элемент управления List в левой части окна с индексом выбранного элемента, привязанным к текущей странице.
EDIT (Explainer): Основная идея состоит в том, чтобы иметь единственную ViewModel, которая может быть просмотрена в нескольких разных шаблонах данных, зависит от текущей страницы.
Смежные вопросы
- 1. Как сохранить предыдущие значения страницы в asp.net
- 2. Как заблокировать предыдущие шаги мастера Bootstrap Fuelux
- 3. Как сохранить шаг мастера начальной загрузки даже при обновлении страницы
- 4. Как сохранить мигающую страницу мастера?
- 5. Как сохранить предыдущие координаты gps
- 6. Сохранить предыдущие данные пользователя
- 7. страницы мастера и контента
- 8. ASP.net настраиваемые страницы мастера
- 9. ASP.Net - Сохранить предыдущие строки
- 10. Как сохранить предыдущие рисунки в java?
- 11. Как сохранить предыдущие данные в Leaflet Realtime
- 12. Предыдущие поля Следующее 'Сохранить как новый' Django
- 13. Как сохранить предыдущие данные в текстовом файле?
- 14. Камера Android surfaceTexture - Как сохранить предыдущие кадры?
- 15. Следующие предыдущие страницы в wordpress
- 16. Держите предыдущие страницы в UIPageViewController
- 17. Как найти идентификатор страницы приветствия мастера? Innosetup
- 18. Следующие/Предыдущие страницы с Javascript?
- 19. CarrierWave не переопределяет предыдущие страницы
- 20. Как узнать прошедшие предыдущие страницы в struts2
- 21. Как сохранить предыдущие данные за 7 дней в db?
- 22. Как сохранить состояние страницы?
- 23. Новой линия, но сохранить предыдущие строки выравнивания:
- 24. страницы мастера и содержимого и jquery
- 25. Использование страницы директивы вместо мастера в Umbraco
- 26. Сохранить предыдущие данные в процессе VHDL
- 27. Wordpress, пользовательские страницы тема следующие/предыдущие сообщения
- 28. Как отключить предыдущие даты, сохранив предыдущие даты?
- 29. Почему форма мастера формы сокращения не может сохранить состояние?
- 30. Как сохранить предыдущие сюжеты и окна в Gnuplot?
Я нашел, что UserControl, который я использовал в словаре, - это Windows.Forms.UserControl. но я добавил Windows.Controls.UserControl .. – Tanya
Нет Нет .. Если бы кто-нибудь дал мне несколько предложений по сохранению предыдущих деталей страницы, это было бы полезно для меня, чтобы изучить WPF, я очень новичок в WPF и MVVM. – Tanya
Посмотрите на эту замечательную статью: http://www.codeproject.com/Articles/31837/Creating-an-Internationalized-Wizard-in-WPF – SvenG