如何在桌面应用程序中实现工具栏,菜单及其命令?

时间:2010-06-23 22:03:50

标签: user-interface design-patterns desktop-application

在概念层面(不是特定于平台/框架),工具栏和菜单(以及它们包含的命令)等组件应该如何在使用MVC模式的桌面应用程序中实现,最小耦合和最小耦合。最大代码重用?

1 个答案:

答案 0 :(得分:1)

通常,命令绑定到菜单项,工具栏按钮等会将以下信息暴露给控件:

  • 执行方法
  • 启用/禁用标志
  • (可选)可见/隐藏标志
  • (可选)图标
  • (可选)文字
  • (可选)说明
  • 通知有关命令状态的事件已更改

如果您更喜欢使用MVC模式而不是MVVM,则可能很难确定命令逻辑的放置位置。您可以通过模型公开这些信息,也可以在控制器中放置相应的代码。

如果您使用基于组件的UI,如.NET WPF / WindowsForms / Silverlight等,您可能可以为公开所有列出的属性的命令创建接口,并创建从MenuItem,ToolbarButton等继承的处理信息的自定义控件从这样的界面。