Разработка мастера UI - WPF

Все в WPF:

Разрабатывая приложение мастера, пользователь должен ответить на многие простые вопросы, прежде чем принесено к главному приложению. Главное приложение затем предварительно заполняется информацией, полученной из мастера.

Я запустил с Окна, к которому я затем запланировал добавить usercontrols. Главное окно имело бы пользовательский элемент управления в первой строке, затем кнопки Next и Previous для управления перемещением между средствами управления во второй строке. Таким образом, я мог легко управлять логикой для переключения между экранами как:

WizardControl1.IsVisible = false;
WizardControl2.IsVisible = true;

Но по некоторым причинам, пользовательские элементы управления не имеют метода set для IsVisible. Ура.

Таким образом я думал, что буду просто использовать отдельные окна для каждого раздела мастера. Проблема с этим подходом состоит в том, что теперь при продвижении между, окно открывается в случайных положениях, и путем продвижения через мастер со следующим, следующее окно открывается случайным образом, который действительно отвлекает и разбивает.

Таким образом, как я могу разработать мастер правильно? Я не добираюсь, почему это настолько твердо... не точно аэрокосмические исследования... заменяющие текст и средства управления и хранящие вход после нажатия следующего/предыдущего!

Спасибо

9
задан Dave Clemmer 13 January 2013 в 19:12
поделиться

4 ответа

Я, вероятно, имел впредь под этом, используя селекторы связывания и шаблона данных. Пусть форма мастера связывается со классом «Wizarddata», который обнажает список базовых классов «Волшебное страние».

Класс Wizarddata может выставлять свойства, определяющие правильную информацию о формах, и отобразить элемент управления для главной страницы, который использует селектор шаблона для определения правильного управления для отображения в зависимости от фактического типа конкретной страницы мастера.

Это звучит как больше работы, чем это, действительно. Он также дает вам преимущество хорошего разделения между кодом и UI (все «работа» выполняется классами Wizarddata и WizardPage) и возможность тестирования логики независимой от интерфейса UI.

Это также очень WPF / MVVM-способ приближения к проблеме.

3
ответ дан 4 December 2019 в 13:01
поделиться

Проверьте эту ссылку: http://www.codeproject.com/kb/wpf/internationaledwizard.aspx Это статья о мастере здания в WPF Джош Смитом, это кажется хорошим узором. Я нашел это полезно для меня, надеюсь, ты тоже.

9
ответ дан 4 December 2019 в 13:01
поделиться
-

Я узнаю, что это не напрямую решает ваш вопрос, но я думал, что упомяну об этом как возможную альтернативу. Я использовал контроль волшебника Actipro с довольно хорошими результатами, и когда мне нужна поддержка, они были очень отзывчивы. Я не связан с ними любым способом; Мне просто нравится писать сантехника, чтобы управлять волшебником.

0
ответ дан 4 December 2019 в 13:01
поделиться
  1. Свойство называется «видимостью».
  2. Я считаю, что я делаю лучше, когда я динамически добавляю и удаляю контроль, а не скрывать их.
0
ответ дан 4 December 2019 в 13:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: