2010-03-13 4 views
1

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

  1. UserControl
  2. WPF Application
  3. Библиотека класса

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

ответ

3

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

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

Таким образом, любой из этих трех вариантов будет хорошо, но моя рекомендация будет либо WPF User Control Library или WPF управления библиотекой пользовательских с той волей:

  1. автоматически включать ссылки на МОФ библиотеки DLL; и
  2. настройки меню Add Item, чтобы сделать его проще для добавить фактические элементы управления в библиотеки в будущем (так как вы обязано прийти с некоторым многоразовыми управления, а также ваше сообщение поля и вы можете также придерживаться их в том же проекте).
1

я реализовал WPF 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.
Смежные вопросы