Как использовать CarouselView в Visual Studio 2019 4.4+ и Xamarin.Forms? - PullRequest
0 голосов
/ 17 января 2020

Я обновил свою версию Xamarin.Forms с 3.4.0.1 до последней сборки: 4.4.0.991477, но CarouselView, который я использовал ранее, Xamarin.Forms.CarouselView больше не работает, и я получаю эту ошибку:

The type 'CarouselView' exists in both 'Xamarin.Forms.CarouselView, 
Version=1.0.7.0, Culture=neutral, PublicKeyToken=null' and
'Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null'

Я искал решение и замену Xamarin.Forms.CarouselView, но лучшее, что я видел, это плагин Алекса Рейнмана, CarouselView.FormsPlugin, https://github.com/alexrainman/CarouselView, но я Вы читали людей, жалующихся на некоторые ошибки в этом плагине.

Я также слышал, что Xamarin Forms теперь имеет свой новый плагин? https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/carouselview/ Но это очень ново, и никто не говорит об этом, совсем немного документации ...

Итак ... для текущих разработчиков Xamarin.Forms (4.4+), что Вы используете сейчас для реализации CarouselViews? Является ли CarouselView.FormsPlugin заслуживающим доверия? (Мне нужно обновить старый CarouselView для большой компании, поэтому я должен убедиться, что он хорош, прежде чем я * * * * * * * обновленная версия *).

Редактировать: После удаления плагина: я получаю Сбой чтобы исправить: «Xamarin.Forms.CarouselView, версия = 0.0.0.0, Culture = нейтральный, PublicKeyToken = null» ошибка сейчас.

Я предполагаю, что это потому, что у меня есть строка

xmlns:cv="clr-namespace:Xamarin.Forms;assembly=Xamarin.Forms.CarouselView" в моем файле xaml, но если я его вытащу, то мой код, использующий CarouselView

<cv:CarouselView 
  VerticalOptions="FillAndExpand" 
                   HorizontalOptions="FillAndExpand"
                   ItemsSource="{Binding ReadingList}" 
                   Position="{Binding Position}">
    <cv:CarouselView.ItemTemplate>
...

, будет вытеснен

Edit 2: Я подумал, что мне нужно изменить cv: ____ к чему-то еще, потому что он, очевидно, больше не использует тот же плагин, поэтому я попытался удалить cv: из обоих, и это сработало .. это верно?

1 Ответ

0 голосов
/ 17 января 2020

Я подумал, что мне нужно изменить cv: ____ на что-то другое, потому что он, очевидно, больше не использует один и тот же плагин, поэтому я попытался удалить cv: из обоих, и это сработало ... это правильно?

Да, то, что вы сделали, правильно.

В Xamarin.forms 4.4.0.991477, CarouselView - это класс в Namespace: Xamarin.Forms и Assembly:Xamarin.Forms.Core.dll.

, поэтому вы можете изменить cv___ на:

xmlns:cv="clr-namespace:Xamarin.Forms;assembly=Xamarin.Forms.Core"

И использовать его следующим образом:

<cv:CarouselView/>

Как правило, нет необходимости использовать cv, поскольку пространство имен по умолчанию указывает, что элементы определены в XAML файл без префикса относится к Xamarin.Forms классам:

xmlns="http://xamarin.com/schemas/2014/forms"

Итак, после удаления cv: из обоих и ваш проект сработал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...