2008-09-08 35 views
4

我正在将用C#和WinForms创建的客户端/服务器应用程序移动到SOA/WPF/Silverlight世界。 UI的设计是最大的障碍之一。我目前的用户界面是MDI驱动的,用户很大程度上依赖于子窗口,同时有很多子窗口在它们之间来回切换。为传统的WinForms MDI应用程序设计新的UI

什么可能是在无MDI环境中重新创建UI功能的最佳方式? (我不想在WPF中自己创建MDI功能)。标签?一个切换不同控件的列表面板?

回答

3

我认为答案是真的取决于您的用户 - 我会设置一些具有多个范例的原型,并让它们提供一些输入。你想要做的最后一件事是引入一个新的UI范例,而不需要任何最终用户的输入。

标签现在非常流行,但不允许并排查看,所以如果这是一个要求,您可能想要更多的Outlook风格的设置,可以激活多个面板,隐藏并调整大小。

您可能想要做的一件事是将您的应用程序编码为复合用户界面,其中每个视图独立于其容器(无论是子窗口,选项卡还是手风琴等)构建,并且只是“下降“在设计师。这将保护你免受用户在未来改变对导航范例的想法。

0

你试过GOA WinForms

+0

此链接已损坏,好像建议可能不再有用。 – jpierson 2010-05-29 04:48:38

1

多个顶级窗口很容易实现,并拥有所有MDI的优势 - 这就是MS选择办公室

4

37signals并有多好自己的Web UI是(主要是HTML + AJAX)的新版本。这是Web应用程序的一个很好的例子。要记住的一件事是确保你不打破网络模式。如果用户想要并排看到两件事情,他们应该能够复制该窗口并让Web浏览器执行窗口操作。

对于WPF,有很多新的可视化范例。您可以在各种控制工具包提供商的网站上找到一些示例:XceedTelerik,Infragistics。他们有演示程序,用于帮助您在应用程序中组织屏幕的不同方式。

在WPF中开发复杂的组合应用程序时,您也可以从模式和实践Prism网站开始。这是一套用于在WPF中规划和开发复杂组合(智能客户端样式)应用程序的InProgress实践。