Пользовательский ViewCell после обновления xamarinforms 2.0 отображает записи с высотой 1 пиксель.

Я предоставил ссылку на довольно простую, детализированную версию нашего приложения. В нем вы увидите, что у меня есть простое приложение Forms, состоящее из 2 страниц. Моя первая страница просто имеет кнопку для перехода на вторую страницу. На моей второй странице есть TableView с пользовательскими ViewCells с использованием EntryRenderer на Windows Phone.

Все это работало нормально до XF 1.5, а потом мы решили перейти на XF 2.0. Теперь это не работает. Все мои записи в этой пользовательской ячейке просмотра уменьшаются до высоты 1 пикселя.

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

Во вложении пример проекта. Если вы запустите его как есть, вы увидите страницу, которая выглядит красиво. Если вы прокомментируете MainPage = new NavigationPage(new SecondPage()); & раскомментируйте MainPage = new NavigationPage(new FirstPage());

В App.cs и снова запустите приложение на устройстве WP, вы увидите проблему, о которой я говорю.

Исправление действительно ценится за это.

Вот пример кода:

https://github.com/supreettare/TableViewInWP

Спасибо


person Supreet    schedule 02.12.2015    source источник


Ответы (2)


Между формами 1.5 и 2.0 было внесено множество изменений, которые были необходимы, и в результате со временем могут проявиться некоторые новые ошибки. В этом случае самый короткий ответ заключается в том, что существует ошибка, связанная с тем, как работает навигация и синхронизация рендеринга макета; похоже, что это влияет и на обычные ячейки ввода, если они находятся внутри сетки, как показывает ваш пример проекта. Таким образом, эта проблема признана и должна быть решена в будущей версии Forms.

Потенциальный обходной путь прямо сейчас включает либо установку HeightRequest для рассматриваемой записи, либо добавление значений Grid.RowDefinition (с высотами) для самой сетки. В качестве побочного эффекта это может вызвать неловкое заполнение, но записи должны выглядеть так, как ожидалось.

person Paul    schedule 02.12.2015
comment
Я пытался добавить высоту в ViewCell и RowDefinitions с высотой, которая у меня не сработала. Попробую установить высоту для входа, не лучший выход... но если это сработает, я буду рад пожить с этим какое-то время. - person Supreet; 03.12.2015
comment
Добавление высоты к записи сработало. Надеюсь, что Xamarin скоро это исправит. - person Supreet; 03.12.2015

Я не могу оставить комментарий, потому что у меня нет 50 репутации, извините...

Я скачал образец, развернул на реальном телефоне Android и работает. Затем я прокомментирую, как вы написали, я вижу кнопку для навигации, коснитесь ее, и я вижу, что все в порядке ... Та же страница, если загрузить напрямую или загрузить из навигации.

Я думаю, что ваша проблема может быть связана с вашим эмулятором или обновлением формы xamarin.

У меня было много проблем при обновлении до 2.0 с 1.5.

person SergioZgz    schedule 02.12.2015
comment
Проблема не в Android или iOS, а в Windows Phone. Что было ясно упомянуто в моей первоначальной проблеме выше. - person Supreet; 02.12.2015