
Akhmed
01.02.2017
11:25:27
Можно взять готовые фреймворки типа MVVMCross
но и руками реализовать в принципе не так уж и сложно
https://github.com/MvvmCross/MvvmCross/wiki/ViewModel--to-ViewModel-navigation
или вот

Google

Akhmed
01.02.2017
11:26:44
http://www.johankarlsson.net/2014/09/navigation-from-viewmodel-using.html

Илья
01.02.2017
11:27:19

Akhmed
01.02.2017
11:27:30
хотя второй пример плохой
по первому да
MVVMCross вроде как есть и для XF
вот здесь хорошее решение
https://codemilltech.com/xamarin-forms-view-model-first-navigation/

Илья
01.02.2017
11:28:15
Щас, почитаю про него...

Akhmed
01.02.2017
11:28:31
если руками реализовывать

Илья
01.02.2017
12:14:57
Да и вообще там кажется код специфичный для IOS: public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS
А меня интересует сейчас андроид в первую очередь.

Akhmed
01.02.2017
12:52:31

Google

Akhmed
01.02.2017
12:52:31
https://github.com/codemillmatt/XamFormsVMNav/blob/master/VMFirstNav/VMFirstNav/Navigation/NavigationService.cs
на самом деле все это не важно
смысл в том что бы абстрагироваться от навигации View
по сути когда мы на слое View получаем навигацию, например, на ProductViewModel то по какому нибудь правилу перейти на ProductView

Slava
01.02.2017
12:54:21
Мы через Messaging Center из ViewModel событие с параметрами кидаем (через обертку у BaseViewModel), а внешний NavigationService уже сам навигирует

Akhmed
01.02.2017
12:55:21
это может быть договоренность что все VM будут именоваться [Name]ViewModel а View - [Name]View - тогда можно на любую VM отыскать соответствующую View

Slava
01.02.2017
12:55:48
Ага, у нас так :) удобно
Другие способы не прижились

Илья
01.02.2017
13:06:18
Я вот сейчас на коленке набросал такой роутер http://pastebin.ru/fj7BCLB9 Еще правда не испробовал, подготавливаю команды, разметку... Но по идее должно прокатить.
Роут пока только один, еще не добавил другие страницы. :)

Ilya
01.02.2017
13:08:00
в продакшн лей

Igor
01.02.2017
13:29:22
Еще можно к колбекам android application приклееться. Что бы избежать использования кастомных актиаитей.
(Это если делать кастомную реализацию)

Илья
01.02.2017
13:30:23
Блин, не прокатило. :(
System.InvalidOperationException: PushAsync is not supported globally on Android, please use a NavigationPage.
Что за бред...
Хмм а PushModalAsync работает нормально...

Дмитрий
01.02.2017
13:36:29
у меня после PushAsync страницы не убираются
сделал PushAsync, вернулся назад
сделал еще раз PushAsync - получи два "окна"

Кита
01.02.2017
13:38:55
так помимо навигации вам, ребят надо ещё правильную иерархию страниц сделать

Kirill
01.02.2017
13:42:53

Akhmed
01.02.2017
14:09:46
Шереметьево ищет Xamarin разработчиков

Google

Akhmed
01.02.2017
14:09:49
особенно Android
чуть попозже выложат вакансию - скину сюда
вакансия что у них сейчас указана можно не смотреть - сегодня-завтра обновят

Max
01.02.2017
14:33:20
Всем привет! Нужна помощь, не могу отобразить верхний навигационный бар с кнопкой назад. Уже устал гуглить
Пробовал и программно и через storyboard добавлять
Кита, спасай

Kirill
01.02.2017
14:39:42

Max
01.02.2017
14:41:43
Без форм, да. Даже про заголовок неотображает
просто*

Илья
01.02.2017
14:56:49
Что в xamarin forms юзать для отображения таблицы? TableView? А как к ней биндиться?

Slava
01.02.2017
14:57:33
Смотря какая задача. Есть готовые от Telerik и других
В самих forms готовых таблиц нет
Если только Grid

Илья
01.02.2017
14:57:58
А TableView? Или это не то?

Алексеев
01.02.2017
14:58:03
Вот хороший грид
https://www.devexpress.com/products/xamarin/

Slava
01.02.2017
14:59:46
TableView это по факту обычный сгруппированный список, только для контролов (а-ля настройки), а не для данных

Slava
01.02.2017
15:00:41
Вот еще: https://www.syncfusion.com/products/xamarin-ios/datagrid Сам не юзал
Ссылью ошибся, но там м для форм есть

Илья
01.02.2017
15:02:13

Slava
01.02.2017
15:02:46
Есть внешние контролы :)

Google

Slava
01.02.2017
15:03:24
И неверно сравнивать XF и WPF

Илья
01.02.2017
15:03:44
Ну они юзают один и тот же XAML и вообще очень похожи.

Slava
01.02.2017
15:03:47
XF это урезанные враперы над нативными контролами :)

Илья
01.02.2017
15:03:52
Те же биндинги, MVVM...

Slava
01.02.2017
15:04:09
ну здесь речь о контролах, что есть чего нет
таблицы есть готовые. платные, бесплатные

Илья
01.02.2017
15:04:35
В нативных контролах андроида нет таблиц?)))

Slava
01.02.2017
15:04:40
неа

Илья
01.02.2017
15:04:43
Как все печально...

Slava
01.02.2017
15:04:46
таблицы это вообще десктоп
на мобилках их нет
из коробки :)

Кита
01.02.2017
15:05:41
ну вообще да. Берите Syncfusion не ошибетесь. У них вообще много чего есть бесплатного для indie разрабов

Илья
01.02.2017
15:05:47
А если мне не много ячеек надо (буквально 2 столбца и несколько строк) я могу заюзать какой-нибудь ListView сделав для него ItemTemplate?
Или тут и этого нет..

Slava
01.02.2017
15:06:07
конечно

Кита
01.02.2017
15:06:22
https://github.com/daniel-luberda/DLToolkit.Forms.Controls/tree/master/FlowListView

Slava
01.02.2017
15:07:11
public class FlowListView : ListView
со всеми плюсами и минусами

Google

Slava
01.02.2017
15:08:34
есть много сторонних компонентов для многих задач

Дмитрий
01.02.2017
15:12:19

Кита
01.02.2017
15:14:42

Slava
01.02.2017
15:14:54
написали
давно уже

Кита
01.02.2017
15:15:00
виртуализацию XF дает
Cell можно описать через absolute layout так что будет летать и не тормозить. Не понимаю в чем проблемы

Slava
01.02.2017
15:16:03
это все проблемы новичков :)

Valeriy
01.02.2017
15:16:10
Всем привет. Подскажите как можно забиндится к модельке текущего элемента в списке. Думал что так: <Label Text={Binding .}/> - но нет =(

Кита
01.02.2017
15:17:00
ну если биндинг контекст элемента в списке это string то все должно работать по идее

Akhmed
01.02.2017
15:17:53
А список это список строк?

Valeriy
01.02.2017
15:18:49
Нет, label я для примера указал. Я хочу в converter прогнать модель элемента.
Если указываю {Binding .}, то в конвертере value = null;

Akhmed
01.02.2017
15:19:35
если у вас список скажем IList<Product> Products
у и одного продукта есть свойство Name
и вы биндите список к Products
то Label надо биндить к свойству одной модели
А так можете проверить что выводится в Output - скорее всего где то неверный binding context

Valeriy
01.02.2017
15:25:44
Окей. Спасибо =)

Akhmed
01.02.2017
15:26:11
Пиши в личку если что - могу подключится к компу и посмотреть в чем проблема. Но попозже