WPF中的自定义消息框 - 什么项目类型?

时间:2010-03-13 15:01:48

标签: wpf project messagebox

我有一个WPF Composite应用程序,我想创建一个自定义的消息框,我想知道我应该使用哪种项目类型来创建它?

  1. 用户控件
  2. WPF申请
  3. 班级图书馆
  4. 然后我必须能够在我的应用程序的其他地方使用此MessageBox。

2 个答案:

答案 0 :(得分:3)

  

我必须能够使用它   MessageBox在我的其他地方   应用

由于您希望共享和重用该组件,因此您可能不应该使用应用程序项目;技术上可以从另一个项目引用一个应用程序项目,但它不是非常惯用的。所以你想要一个图书馆项目。在Visual Studio中,类库,WPF自定义控件库和WPF用户控件项目类型都是库项目:唯一的区别是为您设置了哪些系统DLL引用,生成的初始文件以及VS对添加项的内容菜单。

所以这三个选项中的任何一个都没问题,但我的推荐是WPF用户控件库或WPF自定义控件库,因为那样:

  1. 自动包含对。的引用 WPF DLL;和
  2. 设置“添加项目”菜单以使其更容易 你要添加实际的控件 未来的图书馆(因为你是 必然会想出一些可重复使用的东西 控件以及您的消息 盒子,你也可以坚持下去 在同一个项目中)。

答案 1 :(得分:2)

我已经通过标准WPF控件模板实现了完全可自定义的WPF MessageBox:

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相同的系统菜单,包括在消息框处于Yes-No模式时禁用“关闭”按钮。
  • 处理右对齐和从右到左的操作系统,与标准MessageBox相同。
  • 支持将所有者窗口设置为WinForms表单控件。