2010-03-13 119 views

回答

3

我有那么能够使用在其他地方这个 的MessageBox我 应用。

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

因此,任何这三个选项将被罚款,但我的建议是,要么WPF用户控件库或WPF自定义控件库因为这将:

  1. 自动包含到 WPF的DLL文件的引用;和
  2. 设置添加项目菜单,使其更容易为 你实际的控件添加到 库在未来(因为你是 必然要拿出一些可重复使用的 控制以及您的留言 框,你可以在同一个项目中粘贴它们 )。
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相同的系统菜单,包括在消息框处于Yes-No模式时禁用Close按钮。
  • 处理右对齐和从右到左操作系统,与标准MessageBox相同。
  • 提供支持将所有者窗口设置为WinForms窗体控件。