
Vladislav
22.09.2017
19:20:03
Я просто действительно не понимаю смысла отдавать это на автоматизацию. Потому что что так я напишу переход на "SomePage" строку которую надо привязать к созданию определенной модели, что просто передам готовую модель

Кита
22.09.2017
19:20:24
просто штука такая что во вьюмодели в конструкторе могут быть сервисы
и их может быть не один
и никаких строк кстати

Google

Vladislav
22.09.2017
19:22:12
Ты имеешь в виду что-то типа конструкции с конструкторами конроллеров в aspnet?

Летучая
22.09.2017
19:24:06
руками создавать больно, надо полагаться на IoC

Кита
22.09.2017
19:24:34
https://pastebin.com/EK7hxYNX
вот как выглядит пуш страницы из вьюмодели

Vladislav
22.09.2017
19:26:50
Надо пожалуй переписать свой навигейш сервис

Кита
22.09.2017
19:27:45
ахах

Летучая
22.09.2017
19:27:50
Поясни пожалуйста

Кита
22.09.2017
19:28:16
да. это типикал вьюмодель. Сам такой же почти пример хотел скинуть, уже полез в проект

Летучая
22.09.2017
19:28:54
А, это опечатка

Google

Летучая
22.09.2017
19:29:01
я думал ты только что меня обоссал

Кита
22.09.2017
19:29:19
нет. ты что
ну и собсно всю эту котовасию помогает разрулить autofac или dryIoc

Vladislav
22.09.2017
19:30:40
Ага
Заюзаем, да

Летучая
22.09.2017
19:32:42

Кита
22.09.2017
19:33:05
ага. исторически. Надо переосмыслить
вообще по хорошему у меня там ещё задумка есть. В формах всего 3 типа навигации - push, pop, poptoroot
а Navigate подразумевает что сервис сам должен внутри решать что ему делать - в рут уходить или поп делать до этой страницы или пушить

Vladislav
22.09.2017
19:36:55
Кстати, так и не нашел годного решения менять App.MainPage с обычной на MD пейдж.
Тупо менять фигня
Анимацию задавать тоже как-то не очень

Кита
22.09.2017
19:37:29
я не меняю. Это RootNavigationPage

Vladislav
22.09.2017
19:37:56
?
Как ты прячешь Master тогда

Кита
22.09.2017
19:38:42
если меняется рут - рут страница пушится в RootNavigationPage и в себе пушит нужный контент, а та страница что была корневой до этого удаляется из стэка по-тихому

Vladislav
22.09.2017
19:39:22
Я про masterdetailpage и обычный page
Иногда надо делать меню недоступным

Кита
22.09.2017
19:39:50
ээ

Vladislav
22.09.2017
19:40:01
Просто скрыть тулбар и заблочить свайп недостаточно

Google

Кита
22.09.2017
19:40:13
есть разные области навигации

Vladislav
22.09.2017
19:40:30
В планшетах будет видно
Ты предлагаешь делать навигацию на всю страницу вместо Detail?

Кита
22.09.2017
19:41:22
погоди. я просто пытаюсь осознать когда это нужно прятать дровер от пользователя?

Vladislav
22.09.2017
19:41:48
На странице авторизации например

Кита
22.09.2017
19:42:05
а это другой стэк навигации

Vladislav
22.09.2017
19:42:41
Я знаю, всю mdp нельзя обворачивать в navigation page

Кита
22.09.2017
19:42:57
почему?
я оборачивал

Vladislav
22.09.2017
19:43:40
Два тулбара какбе

Кита
22.09.2017
19:43:45
RootNavigationPage она почему такая - потому что она тулбар не показывает
прячешь его в конструкторе RootNavigationPage и проблем не знаешь. Не благодари
на. ios по крайней мере работает

Vladislav
22.09.2017
19:45:15
Забавный костыль, но все равно не очень
Разные стеки навигации

Кита
22.09.2017
19:45:33
ну так да. это не костыль
идея пришла вообще из игрового приложения
там есть соцсеть, а есть режим игры с другими пользователями
есть авторизация
3 разных стэка навигации

Google

Кита
22.09.2017
19:47:14
между ними используя такой подход есть анимированные переключения. Ничего не выпадает. Все замечательно работает
аппа пушит один стэк поверх другого а предыдущий удаляет и диспозит. Каждая MultiPage знает как себя чистить
работало все шикарно

Vladislav
22.09.2017
19:50:36
Надо это покурить

Кита
22.09.2017
19:51:25
и на уровне вьюмодели главное ничего такого вычурного нет. Просто из вьюмодели стэка соцсети мы переходим на вьюмодель стэка игры, но между ними разницы нет никакой - они все одинаковые от базового класса отнаследованы, и сервис видит что страница к новой вьюмодели привязана рутовая, а значит нужно взять рутовую navigationPage и в неё засандалить рутовую страницу, которая сама в себе знает какую первую страницу в себя положить, а предыдущий стэк зачищался и по выходу из игры снова загружался. А в теории из игры при просрочке токена можно было вылететь на страницу авторизации например

Kirill
22.09.2017
19:53:32
можно просто навигацию открывать поверх MasterDetail, в модальном окне

Кита
22.09.2017
19:54:24
ну умодального много ограничений
но так то да. Если например нужен ввод пинкода то модальное окно тут как нельзя лучше подходит. Единственное там надо будет рулить развилку внутри - страница должна знать где она открыта в модальном окне или в стэке навигации. В одном случае отступы есть а в другом нет
В нэйтиве с навигацией все гораздо сложнее кстати получается, но зато можно свои тулбары пилить как хочется
И визарды делать типа такого
но это концепт арт)

Vladislav
22.09.2017
20:16:29
Интересно конечно все это
Но с переходами разных типов страниц не все так однозначно

Кита
22.09.2017
20:22:09
хотя кстати такое и в формс можно сделать. Через Multipage свою кастомную
в multipage вообще по идее можно зафигачить кучу разных страниц и расположить как тебе вздумается. И никаких уходов в рендеры) Но меня этим не подкупить ? все равно они не годятся дальше MVP для презенташки

Vladislav
22.09.2017
20:26:43
Кому как
Некоторые заказчики довольны

Кита
22.09.2017
20:26:55
Некоторые заказчики довольны
все равно рано или поздно зададут вопрос - а почему аппа грузится >8 секунд? а можно это как-то исправить? И ты скажешь нет и будешь иметь бледный вид

Kirill
22.09.2017
20:29:28
Исправить можно, но скорости запуска нативного приложения достичь не получиться.

Google

Vladislav
22.09.2017
20:29:37

Kirill
22.09.2017
20:29:41
AOT, всякие оптимизации в приложении..

Vladislav
22.09.2017
20:29:55
Аот вообще так себе работает

Yury
22.09.2017
20:29:58

Кита
22.09.2017
20:30:14
Ну у меня по крайней мере так было. А ещё падения которые просто так не пофиксить. И на тебя смотрят как на говно какое-то. Хотя ты профессионал вроде бы и тебя нанимали как профессионала

Kirill
22.09.2017
20:30:47

Кита
22.09.2017
20:31:32
Ну не скажи, в последних версиях они поработали над временем запуска
ну вот буквально сегодня я смотрел аппку которую разрабатывали не мы и нам её принесли как побитую птичку. Версия формс 2.3.4. Прикручен Prism все дела. Все вроде бы грамотно написано… но риски очень высокие брать её. Аппка не на 2-3 экрана, с полтинник где-то самых разных
за ios я речи не веду. Там всегда все шикарно +-

Almaz
22.09.2017
20:33:56
Кита а что там про прикручивание тулбаров кастомных в формсах? Можно поподробнее?

Vladislav
22.09.2017
20:34:58
В личку чуть позже скину апк
А вообще да
С xf я себя постоянно дебилом чувствую

Max
22.09.2017
20:35:59

Vladislav
22.09.2017
20:36:50
Последний замеченный мною баг. Frame в footer listview вылазит за ширину экрана что не делай. Пришлось обворачивать в grid
DateTimer не работает с Hijri локализацией
В релизе