Как организовать структуру программы?

193
12 ноября 2018, 19:50

Есть учебный проект - локальная информационная система. Предполагаю реализовать его на .Net с помощью WPF. Поскольку это мой первый проект, я сразу же уперся в проблему. Каким образом реализовать интерфейс приложения? Таких окон как на скриншотах - 24. В WPF есть класс Page, но, насколько я понял, его используют для создания навигации как в браузерах. Каждая страница будет определена своим классом?

Answer 1

Если это учебный проект, который Вы хотите реализовать хорошо, и в полной мере насладиться возможностями WPF, я рекомендовал бы Вам почитать что такое паттерн MVVM. Не рекомендую на первых парах использовать библиотеки, такие как Prism и LightMVVM. Вначале просто реализуйте все ручками, поймете что где и как.

Следуя паттерну MVVM, Вы опишите свои модели, модели представлений (view models) и представления (views) и сможете довольно гибко все структурировать и кастомизировать.

Если Вы хотите все писать код-бихайндом, не использую никакие паттерны (MVC/MVVM). То я бы использовал обычный Page, как Вы и написали в вопросе. Каждая страница будет описана своим классом - своим представлением, при создании страницы Вы можете просто указывать какой ID сущности Вы хотите на данной странице отображать, собственно брать объект из далка.

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

Answer 2

Конкретно "все" окна вам писать нет необходимости.
Достаточно основного окна с минимальной логикой переключения между контролами и самих контролов. Тут вам поможет реализация mvvm вкупе с каким-нибудь фреймворком, типа mvvm light toolkit.
Если умеете в английский и хотите увидеть, как это реализуется, то могу рекомендовать туториалы этого парня.

godspeed.

READ ALSO
Как исправить прыжок?

Как исправить прыжок?

Реализацию прыжка в 2D платформере сделал через "rigidbodyAddForce", при получении урона, происходит тоже самое (то есть отталкивание)

209
Позиционирование фигуры

Позиционирование фигуры

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

190