UWP - 多视图的最佳安排是什么?窗口化还是导航?
UWP - What is the best arrangement for multiple views? Windowing or navigation?
我正在开发一个用于模拟 Win 10(桌面)electric/electronic 电路的应用程序,并发布到 Microsoft Store。
我需要在此应用中显示多个视图。有一个 design/circuit 原理图的视图,还有其他用于检查电路响应的视图。
使用导航范例(我认为这是为 UWP 提出的)用户将在设计视图中编辑设计,然后导航到电路响应视图,检查 numbers/curves,然后导航回电路,并继续编辑。这种来回导航可能很烦人。
允许同时在屏幕上看到两个视图会更好。 (像 MDI,但那些 views/windows 不会是分开的 "documents",相反,它们是与正在处理的同一设计用户相关的不同方面。)
这可以允许在一个 view/window 中执行操作,并实时查看用户所做的更改如何影响其他视图。
如果需要,还希望允许用户在全屏上显示任何视图。电路或响应曲线。
非常像这个非常古老的软件:
在这里我找到了UWP中多视图示例的视频
Multiple views in UWP
我认为最好的第三个也是最后一个选项是使用 window 对接管理器,就像 VisualStudio 中使用的那样。这使用户可以非常自由地安排 views/windows。 AvalonDock 是一个很好的例子,但它适用于 WPF,而不是 UWP。
所以,伙计们,我征求你们的意见,这个 UWP 应用程序的多视图排列的最佳方法是什么?我应该怎么做?你会采取什么解决方案?为什么?
就我个人而言,我认为 windows 对接系统是迄今为止最好的。但我没有找到一个图书馆。有 SyncFusion Docking 管理器,但他们的 UWPControl 包非常昂贵。 995 美元,对我的预算来说太多了...
此致
如果要模拟显示到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
Frames`。
多个视图也是可能的,并被 Paint 3D 等应用程序使用。不幸的是,视图之间的通信有点困难,因为每个视图都有自己的 UI 线程,因此跨视图数据绑定非常复杂。
当然,上述对接方式更适合你的情况
使用 Windows 社区工具包 中的两个控件可能可以实现免费解决方案:DockPanel
and GridSplitter
。但是,您需要为面板实现拖放功能。
至于 Syncfusion,可能有机会免费获得该工具包 - 请参阅 Syncfusion Community Edition。这是他们所有控件的免费版本,根据常见问题解答,它有资格获得:
Companies and individuals with less than million USD in annual gross revenue and 5 or fewer developers.
最后,另一种选择是将该应用程序实现为 WPF 应用程序,然后您将使用 .NET Core 3.0 and XAML Islands 点亮它,该应用程序应尽快作为第一个预览版发布。
我倾向于使用垂直分离器控件的双窗格视图,左侧是电路,右侧是响应曲线。这将很容易实施,也很容易向用户解释。
如果随着应用的成熟,您发现自己需要多个响应视图,请考虑在右侧窗格中使用选项卡控件,或者为用户提供添加更多窗格的选项,并使用拆分器调整窗格大小。
我正在开发一个应用程序,它的整个 window(左边的工具栏和树控件除外)是一个水平滚动区域,其中包含一个水平视图堆栈面板.当用户打开更多视图(通过从树控件中选择)时,新视图将附加到堆栈面板的左侧。用户可以左右滚动堆栈面板以在视图之间导航。
我真的不能保证它会很好用,因为我还没有将它发布给任何用户,但我自己正在使用它,到目前为止我喜欢它的工作方式。
我正在开发一个用于模拟 Win 10(桌面)electric/electronic 电路的应用程序,并发布到 Microsoft Store。
我需要在此应用中显示多个视图。有一个 design/circuit 原理图的视图,还有其他用于检查电路响应的视图。
使用导航范例(我认为这是为 UWP 提出的)用户将在设计视图中编辑设计,然后导航到电路响应视图,检查 numbers/curves,然后导航回电路,并继续编辑。这种来回导航可能很烦人。
允许同时在屏幕上看到两个视图会更好。 (像 MDI,但那些 views/windows 不会是分开的 "documents",相反,它们是与正在处理的同一设计用户相关的不同方面。) 这可以允许在一个 view/window 中执行操作,并实时查看用户所做的更改如何影响其他视图。 如果需要,还希望允许用户在全屏上显示任何视图。电路或响应曲线。
非常像这个非常古老的软件:
在这里我找到了UWP中多视图示例的视频 Multiple views in UWP
我认为最好的第三个也是最后一个选项是使用 window 对接管理器,就像 VisualStudio 中使用的那样。这使用户可以非常自由地安排 views/windows。 AvalonDock 是一个很好的例子,但它适用于 WPF,而不是 UWP。
所以,伙计们,我征求你们的意见,这个 UWP 应用程序的多视图排列的最佳方法是什么?我应该怎么做?你会采取什么解决方案?为什么?
就我个人而言,我认为 windows 对接系统是迄今为止最好的。但我没有找到一个图书馆。有 SyncFusion Docking 管理器,但他们的 UWPControl 包非常昂贵。 995 美元,对我的预算来说太多了...
此致
如果要模拟显示到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
Frames`。
多个视图也是可能的,并被 Paint 3D 等应用程序使用。不幸的是,视图之间的通信有点困难,因为每个视图都有自己的 UI 线程,因此跨视图数据绑定非常复杂。
当然,上述对接方式更适合你的情况
使用 Windows 社区工具包 中的两个控件可能可以实现免费解决方案:DockPanel
and GridSplitter
。但是,您需要为面板实现拖放功能。
至于 Syncfusion,可能有机会免费获得该工具包 - 请参阅 Syncfusion Community Edition。这是他们所有控件的免费版本,根据常见问题解答,它有资格获得:
Companies and individuals with less than million USD in annual gross revenue and 5 or fewer developers.
最后,另一种选择是将该应用程序实现为 WPF 应用程序,然后您将使用 .NET Core 3.0 and XAML Islands 点亮它,该应用程序应尽快作为第一个预览版发布。
我倾向于使用垂直分离器控件的双窗格视图,左侧是电路,右侧是响应曲线。这将很容易实施,也很容易向用户解释。
如果随着应用的成熟,您发现自己需要多个响应视图,请考虑在右侧窗格中使用选项卡控件,或者为用户提供添加更多窗格的选项,并使用拆分器调整窗格大小。
我正在开发一个应用程序,它的整个 window(左边的工具栏和树控件除外)是一个水平滚动区域,其中包含一个水平视图堆栈面板.当用户打开更多视图(通过从树控件中选择)时,新视图将附加到堆栈面板的左侧。用户可以左右滚动堆栈面板以在视图之间导航。
我真的不能保证它会很好用,因为我还没有将它发布给任何用户,但我自己正在使用它,到目前为止我喜欢它的工作方式。