所以我有这个旧的PowerBuilder MDI应用程序(中型企业应用程序有大约40个窗口),我正在着手设计我的第一个WPF MVVM C#应用程序来取代老化的PowerBuilder应用程序。我有很多C#& .NET体验,但这是我的第一个WPF& MVVM应用程序。
在搜索WPF&amp ;;之后阅读了很多论坛帖子。 MDI替代方案,我得出的结论是不支持MDI,并且最常提出的替代方法是使用TabControl并使用WPF用户控件根据需要动态生成每个标签页的内容。我最初在这个上卖了,实际上我最初的原型界面很兴奋,应用程序顶部有一个带标签的Ribbon栏,TabControl带有应用程序选项卡。但是,我碰到了一堵巨大的砖墙。
查看我旧应用程序中的一个中央多标签窗口的以下屏幕截图:http://www.creativedatatech.com/downloads/screenshot.jpg
正如您所看到的,应用程序在顶部和左侧都有一个工具栏,打开的示例MDI子窗口(案例编辑窗口)有很多标签页(其中18个)和用户真的很喜欢能够快速点击标签页直接获取该信息来处理它。此外,用户已经习惯于能够一次打开多个箱子并且将它们并排放置(大型监视器),或者来回翻转,可能是复制和放大。在他们之间粘贴。
这里的问题是我无法想象我如何将案例编辑窗口的所有这些多标签用户体验合并到顶级WPF TabControl的单个标签中。用户最终会看到WPF TabControl的一行选项卡,每个Case Edit Window都有一个选项卡打开,然后在每个“Case Edit”选项卡页面内,另一组嵌套的18个选项卡页面?这看起来令人困惑,嵌套标签很乱。添加到应用程序顶部的Ribbon控件的选项卡,我认为我的用户将在我之后运行以帮助我!
在连续两周阅读WPF和MVVM之后,我感到遗憾的是,WPF真的不适合像我这样的企业应用程序。
当然这不可能是真的!有没有人对我应该如何塑造这个应用程序以完成我在这里尝试做的事情有任何意见?
我已经查看了WPF“页面”,但是我不能让用户在所有单独的页面中连续浏览以获取他们需要处理的内容,并且他们需要能够快速完成(并在视觉上)导航到他们需要的案例编辑窗口内容。
答案 0 :(得分:2)
我认为你的问题不是WPF,而是GUI范例已经远离当前应用程序使用的MDI。没有什么可以阻止你在WPF中实现MDI,但如果你的应用程序最终看起来像现在这样,那会是什么意思呢?
您真的需要考虑如何以现代方式布局您的应用。也许你可以保留不同情况的标签,但是用主/详细视图替换每个子窗口中的多个标签,就像Dev Studio为其选项对话框做的那样?
答案 1 :(得分:0)
我们遇到了同样的困境,我们决定在底部的屏幕标签上显示与顶部的屏幕相关的标签 - 以及上下文功能区项目。
屏幕中的标签实际上只是将窗口滚动到所需的位置,因此通过滚动或点击顶部的标签,可以在每个屏幕上显示所有信息并将其分开。
看起来像这样