Пользовательский дизайн элемента управления - открытие диалога редактирования - PullRequest
0 голосов
/ 10 июня 2019

У меня есть пользовательский элемент управления Calendar, который показывает встречи в выбранный период времени.

Я хотел бы добавить возможность создавать / редактировать встречи. Диалог редактирования встречи (поля, кнопка сохранения, кнопка отмены) должен открываться при нажатии на день.

Кто должен отвечать за открытие диалогового окна редактирования?

  1. Должен ли элемент управления отвечать за открытие диалога и иметь только свойства SaveCommand и EditedAppointment.

  2. Или он должен просто отображать команды / события для пользователя, такие как BeginEditCommand/DayClick event, и пользователь моего элемента управления должен будет самостоятельно реализовать диалог (вместо простой реализации команды Сохранить)? Я думаю DataGrid работает таким образом

Оба решения будут работать, но что лучше?

Это мой первый пользовательский элемент управления в WPF, поэтому извините за вопрос noob.

1 Ответ

1 голос
/ 10 июня 2019

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

Элементы управления, как правило, хороши в одном и могут использоваться во многих различных сценариях, поэтому они должны быть гибкими.Что, если приложение хотело бы по-другому оформить экран редактирования встречи?Или отобразить это в совершенно другом окне?Или разрешить редактирование нескольких встреч одновременно?

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

...