UWP - Каков наилучший механизм для нескольких просмотров?Оконное оформление или навигация? - PullRequest
0 голосов
/ 13 октября 2018

Я разрабатываю приложение для моделирования электрических / электронных цепей для Win 10 (Desktop) и публикую в Microsoft Store.

Мне нужно показать несколько представлений в этом приложении.Существует представление схемы / принципиальной схемы, а также другие виды для проверки отклика схемы.

С парадигмой навигации (которая, как мне кажется, была предложена для UWP), пользователь будет редактировать проект в проекте.просмотр, затем перейдите к представлению отклика схемы и проверьте числа / кривые, затем вернитесь к схеме и продолжайте редактирование.Такая навигация назад и вперед может раздражать.

Гораздо лучше, если бы можно было одновременно видеть два вида на экране.(Как и MDI, но эти представления / окна не будут отдельными «документами», вместо этого они представляют собой разные аспекты, связанные с одним и тем же проектом, над которым работает пользователь.) Это может позволить выполнять операции в одном представлении / окне и посмотреть, какизменения, сделанные пользователем, влияют на другие представления в режиме реального времени.Также желательно, чтобы пользователь мог поставить любой вид на весь экран, если это необходимо.Кривые схемы или отклика.

Очень похоже на это очень старое программное обеспечение:

MDI WINDOWS

Здесь я нашел видео с примеромнескольких представлений в UWP несколько представлений в UWP

Третий и последний вариант, который, на мой взгляд, ЛУЧШИЙ, будет заключаться в использовании диспетчера стыковки окон, аналогичного тому, который используется в VisualStudio,Это дает пользователю очень большую свободу в том, как расположить виды / окна.AvalonDock - прекрасный пример, но он предназначен для WPF, а не для UWP.

Итак, ребята, я спрашиваю ваше мнение: каков наилучший подход к организации нескольких представлений для этого приложения UWP? Что мне делать?Какое решение вы бы приняли?Зачем?

Лично я считаю, что док-система для Windows - лучшая.Но я не нахожу библиотеки для этого.Есть менеджер стыковки SyncFusion, но их пакет UWPControl очень дорогой.995 U $ D, слишком много для моего бюджета ...

С уважением

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Я бы наклонился к двухпанельному виду, используя вертикальный элемент управления делителем, со схемой слева и кривыми отклика справа.Это будет легко реализовать и легко объяснить пользователям.

Если вы обнаружите, что хотите получить несколько представлений ответов по мере созревания приложения, рассмотрите возможность использования элемента управления с вкладками на правой панели или предоставьте пользователю возможность добавления дополнительных панелей с разделителями для настройки размеров панелей.

Сейчас я работаю над приложением, для которого все окно (за исключением панели инструментов и элемента управления деревом на левом краю) представляет собой область горизонтальной прокрутки, которая содержит горизонтальную панель стеков видов.Когда пользователи открывают больше представлений (выбирая из древовидного элемента управления), новые представления просто добавляются к левой стороне панели стека.Пользователи могут прокручивать панель стека влево и вправо, чтобы перемещаться между представлениями.

Я не могу обещать, что это будет работать хорошо, потому что я еще не выпустил ее ни для каких пользователей, но я использую ее сам ипока мне нравится, как это работает.

0 голосов
/ 14 октября 2018

Если вы хотите отобразить 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. К сожалению, между представлениями немного сложнее, поскольку каждыйимеет собственный поток пользовательского интерфейса, поэтому привязка данных между видами довольно сложна.

Конечно, упомянутый шаблон стыковки будет еще более подходящим для вашего случая.

Бесплатное решение может бытьвозможно с помощью двух элементов управления из Windows Community Toolkit : DockPanel и GridSplitter. Но вам будет необходимо реализовать функцию перетаскиваниядля ваших панелей.

Что касается Syncfusion, то может быть шанс получить инструментарий бесплатно - см. Syncfusion Community Edition . Это бесплатная версия всего спектра их элементов управленияи в соответствии с часто задаваемыми вопросами он имеет право на:

Компании и частные лица с годовым валовым доходом менее 1 млн. долларов США и 5 или менее застройщиками.

Наконецдругим вариантом будет реализация приложения в виде приложения WPF, которое затем будет отображаться с .NET Core 3.0 и островами XAML , которые должны быть выпущены в ближайшее время в качестве первого предварительного просмотра..

...