Пользовательское окно сообщения в WPF - Какой тип проекта? - PullRequest
1 голос
/ 13 марта 2010

У меня есть приложение WPF Composite, и я хочу создать настраиваемое окно сообщения, мне интересно, какой тип проекта мне следует использовать для его создания?

  1. Пользовательский контроль
  2. Приложение WPF
  3. Библиотека классов

Затем я смогу использовать этот MessageBox в других местах моего приложения.

Ответы [ 2 ]

3 голосов
/ 13 марта 2010

Я должен быть в состоянии использовать это MessageBox в других местах в моем применение.

Поскольку вы хотите поделиться и повторно использовать компонент, вам, вероятно, не следует использовать проект приложения; технически возможно ссылаться на проект приложения из другого проекта, но это не очень идиоматично. Так что вместо этого вам нужен библиотечный проект. В Visual Studio все типы проектов библиотек классов, библиотек пользовательских элементов управления WPF и WPF - это проекты библиотек: единственное различие заключается в том, какие системные ссылки DLL установлены для вас, сгенерированные исходные файлы и что VS помещает в элемент добавления. меню.

Так что любой из этих трех вариантов будет в порядке, но я бы порекомендовал использовать либо библиотеку пользовательских элементов управления WPF, либо пользовательскую библиотеку элементов управления WPF, поскольку она будет:

  1. автоматически включает ссылки на библиотеки WPF; и
  2. настроить меню Добавить элемент, чтобы упростить добавить фактические элементы управления в библиотека в будущем (так как вы обязательно придумать какое-то многоразовое контролирует, а также ваше сообщение коробка, и вы можете также сунуть их в том же проекте).
2 голосов
/ 26 мая 2011

Я реализовал WPB MessageBox, полностью настраиваемый с помощью стандартных шаблонов управления WPF:

http://blogs.microsoft.co.il/blogs/arik/archive/2011/05/26/a-customizable-wpf-messagebox.aspx

Особенности

  • Класс WPFMessageBox имеет тот же интерфейс, что и текущий класс WPF MessageBox.
  • Реализован как пользовательский элемент управления, поэтому полностью настраивается с помощью стандартных шаблонов элементов управления WPF.
  • Имеет шаблон элемента управления по умолчанию, который выглядит как стандартный MessageBox.
  • Поддерживает все распространенные типы окон сообщений: ошибка, предупреждение, вопрос и информация.
  • Имеет те же звуковые сигналы, что и при открытии стандартного MessageBox.
  • Поддерживает то же поведение при нажатии кнопки Escape, что и стандартный MessageBox.
  • Предоставляет то же системное меню, что и стандартный MessageBox, включая отключение кнопки «Закрыть», когда окно сообщения находится в режиме «Да-Нет».
  • Обрабатывает операционные системы с выравниванием по правому краю и справа налево, аналогично стандартному MessageBox.
  • Предоставляет поддержку для установки окна владельца в качестве элемента управления формы WinForms.
...