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