Счетчик значков в Xamarin Forms не работает - PullRequest
0 голосов
/ 02 августа 2020

Я использую этот Плагин для отображения количества значков в представлении с вкладками в приложении Xamarin Forms.

Код Xaml

<?xml version="1.0" encoding="utf-8"?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
            xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
            xmlns:d="http://xamarin.com/schemas/2014/forms/design"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
            xmlns:plugin="clr-namespace:Plugin.Badge.Abstractions;assembly=Plugin.Badge.Abstractions"
            xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core" android:TabbedPage.ToolbarPlacement="Bottom"
            SelectedTabColor="{StaticResource HighlightText}"  BarBackgroundColor="{StaticResource HighlightBg}" UnselectedTabColor="Gray" 
            xmlns:views="clr-namespace:Sello.Views" x:Class="Sello.Views.MainPage" >
   <TabbedPage.Children>
        <NavigationPage Title="Home" IconImageSource="home.png">
                  <x:Arguments>
                <views:HomePage />
            </x:Arguments>
        </NavigationPage>

         <NavigationPage Title="Search" IconImageSource="search.png">
            
            <x:Arguments>
                <views:AboutPage />
            </x:Arguments>
        </NavigationPage>

         <NavigationPage Title="Cart" IconImageSource="cart.png"
             plugin:TabBadge.BadgeText= "2" 
             plugin:TabBadge.BadgeColor="Red"
              plugin:TabBadge.BadgeTextColor="White"   plugin:TabBadge.BadgePosition="PositionCenter"       >
            
            <x:Arguments>
                <views:AboutPage />
            </x:Arguments>
        </NavigationPage>


        <NavigationPage Title="Account" IconImageSource="account.png">
            
            <x:Arguments>
                <views:AccountPage />
            </x:Arguments>
        </NavigationPage>
    </TabbedPage.Children>
</TabbedPage>

также как указано в документация плагина добавил следующую строку в AssemblyInfo.cs

[assembly: ExportRenderer(typeof(TabbedPage), typeof(BadgedTabbedPageRenderer))]

при добавлении этой строки отображается следующее сообщение об ошибке:

Тип или не удалось найти имя пространства имен ExportRenderer (вам не хватает директивы using или ссылки на сборку?)

введите описание изображения здесь

, поэтому, когда я прокомментировал строку выше, приложение работает без ошибок, но значки не отображаются. Для тестирования я попытался реализовать то же самое в другом тестовом приложении, но тоже не работал. Пожалуйста, помогите мне решить эту проблему.

1 Ответ

1 голос
/ 02 августа 2020

Не удалось найти тип или имя пространства имен ExportRenderer (вам не хватает директивы using или ссылки на сборку?)

точно так же, как сообщает ошибка, вы отсутствуют директива using. Добавьте это (замените iOS на Android для проекта Android)

using Plugin.Badge.iOS;

, вам также необходимо убедиться, что вы делаете это в проектах платформы (iOS, Android, et c), а не проект общих форм

см. пример проекта

...