我正在为Win 10 (桌面)开发一个模拟电气/电子电路的应用程序,并发布到微软商店。
我需要在这个应用程序中显示多个视图。有设计/电路原理图的观点,也有检查电路响应的其他观点。
使用导航范式(我认为这是为UWP提出的),用户将在设计视图中编辑设计,然后导航到电路响应视图,检查数字/曲线,然后导航回电路,并继续编辑。这种来回导航可能会很烦人。
更好的办法是允许同时在屏幕上看到两个视图。(与MDI类似,但这些视图/窗口不会是单独的“文档”,相反,它们是与用户正在处理的相同设计相关的不同方面。)这允许在一个视图/窗口中执行操作,并查看用户所做的更改如何实时地影响其他视图。如果需要,也希望允许用户将任何视图放到全屏上。电路或响应曲线。
就像这个非常古老的软件:

在这里,我找到了一个UWP UWP中的多视图中多视图示例的视频。
第三个也是最后一个选项,我认为最好的方法是使用窗口对接管理器,就像在VisualStudio中使用的那样。这给了用户很大的自由如何安排视图/窗口。AvalonDock是一个很好的例子,但是它适用于WPF,而不是UWP。
所以,伙计们,我征求你们的意见,对于这个UWP应用程序来说,多视图安排的最佳方法是什么?,我应该做什么?你会采取什么解决方案?为什么?
就我个人而言,我认为窗口对接系统是目前为止最好的。但我找不到图书馆。有SyncFusion对接管理器,但是他们的UWPControl包非常昂贵。995美元,我的预算太多了.
问候
发布于 2018-10-14 07:25:17
如果要同时向Pages显示,可以使用两个Frame控件来实现。Frame控件充当“导航目标and manages a stack of pages. By default every UWP app has a single root frame, but you can override this by having a root *shell* page, which will contain the global navigation - top menu, and two框架”。
多视图也是可能的,并被应用程序,如油漆3D。不幸的是,视图之间的通信有点困难,因为每个视图都有自己的UI线程,因此交叉视图数据绑定非常复杂。
当然,上述的对接模式将更适合您的情况。
可以使用中的两个控件提供免费解决方案:DockPanel和GridSplitter。但这将取决于您实现拖拽功能为您的面板。
至于同步,可能有机会免费获得工具包--请参阅同步社区版。这是他们所有控制措施的免费版本,根据FAQ,它有资格:
年总收入不到100万美元的公司和个人以及5名或更少的开发商。
最后,另一个选择是将应用程序实现为WPF应用程序,然后您将使用.NET Core3.0和XAML群岛来调整该应用程序,这两个应用应该在第一次预览时发布。
发布于 2018-10-18 04:12:22
我倾向于两个窗格视图,使用垂直拆分控制,电路在左边,响应曲线在右边。这将是很容易实现的,也很容易向用户解释。
如果当应用程序成熟时,您发现自己需要多个响应视图,请考虑在右侧窗格上使用一个选项卡控件,或者给用户添加更多窗格的选项,并使用拆分器来调整窗格大小。
我现在正在开发一个应用程序,整个窗口(除了左侧边缘的工具栏和树控件)是一个水平滚动区域,其中包含一个水平的视图堆栈面板。当用户打开更多的视图(从树控件中选择)时,新视图就会被附加到堆栈面板的左侧。用户可以滚动堆栈面板向左和右,以在视图之间导航。
我不能保证它能很好的工作,因为我还没有向任何用户发布过它,但是我自己正在使用它,到目前为止我喜欢它的工作方式。
https://stackoverflow.com/questions/52796890
复制相似问题