我正在努力将使用 C# 和 WinForms 创建的客户端/服务器应用程序转移到 SOA/WPF/Silverlight 世界中。最大的障碍之一是 UI 的设计。我当前的 UI 是 MDI 驱动的,用户严重依赖子窗口,同时打开许多子窗口并在它们之间来回切换。
在无 MDI 环境中重新创建 UI 功能的最佳方式可能是什么?(我不想在 WPF 中自己创建 MDI 功能)。标签?切换不同控件的列表面板?
我正在努力将使用 C# 和 WinForms 创建的客户端/服务器应用程序转移到 SOA/WPF/Silverlight 世界中。最大的障碍之一是 UI 的设计。我当前的 UI 是 MDI 驱动的,用户严重依赖子窗口,同时打开许多子窗口并在它们之间来回切换。
在无 MDI 环境中重新创建 UI 功能的最佳方式可能是什么?(我不想在 WPF 中自己创建 MDI 功能)。标签?切换不同控件的列表面板?
看看37signals以及他们的 Web UI 有多好(主要是 HTML + AJAX)。这是一个很好的 web 应用程序的例子。要记住的一件事是确保您不会破坏网络范式。如果用户想并排看到两件东西,他们应该能够复制窗口并让 Web 浏览器进行窗口化。
对于 WPF,有很多新的可视化范例。您可以在各种控制工具包提供商的网站上找到一些示例:Xceed、Telerik、Infragistics。他们有演示程序,用于帮助您在应用程序中组织屏幕的不同方式。
在 WPF 中开发复杂的复合应用程序时,您还可以从 Patterns and Practices Prism站点开始。这是一组 InProgress 实践,用于在 WPF 中规划和开发复杂的复合(智能客户端样式)应用程序。
我认为答案实际上将取决于您的用户——我会设置一些具有多种范式的原型,并让他们提供一些输入。您要做的最后一件事是在没有任何最终用户输入的情况下引入新的 UI 范例。
选项卡现在非常流行,但不允许并排查看,因此如果需要,您可能希望使用更多 Outlook 风格的设置,以及可以激活、隐藏和调整大小的多个面板。
您可能想要做的一件事是将您的应用程序编码为复合 UI,其中每个视图都独立于其容器(无论是子窗口、选项卡或手风琴等)构建,并且只是“放入”设计师。当用户在未来改变他们对导航范式的想法时,这将保护你。
多个顶级窗口易于实现并具有 MDI 的所有优点 - 这是 MS 为较新版本的 Office 选择的
你试过GOA WinForms吗?