SlideOverKit: значение типа «SlideMenuView» нельзя добавить в коллекцию или словарь типа «IList» - PullRequest
0 голосов
/ 26 сентября 2018

Я реализую BottomSheet в Xamarin.forms с помощью библиотеки SlideOverKit , доступной в галерее NuGet.Я сослался на их образец, доступный на GitHub .Мои подробности реализации приведены ниже

Детали реализации:

<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
        xmlns:local="clr-namespace:SmartApp.CustomControls"
        xmlns:y="clr-namespace:SlideOverKit;assembly=SlideOverKit"
        Title="Opportunities"
         x:Class="SmartApp.OpportunitiesPage">
   <TabbedPage.ToolbarItems>
       <!--Menu Item here-->
   </TabbedPage.ToolbarItems>
   <ContentPage Title="Tab 1" >
       <!--Tab 1 details here-->
   </ContentPage>
   <y:SlideMenuView >
       <!--Tab 2 details here-->
   </y:SlideMenuView>
</TabbedPage>

В приведенной выше реализации я столкнулся с ошибкой времени компиляции, которая представляет собой «Значение типа« SlideMenuView »не может быть добавлено в коллекцию».или словарь типа 'IList' ", также y:SlideMenuView, не поддерживающий атрибут Title, что является другой проблемой.Как я могу решить эту проблему?пожалуйста помоги.

1 Ответ

0 голосов
/ 19 марта 2019

SlideMenuView должен быть помещен в MenuContainerPage вместо ContentPage.

См. Их образец в c # .То же самое можно сделать и в XAML:
Просто замените ContentPage на y:MenuContainerPage или создайте пользовательскую страницу, которая наследуется от MenuContainerPage, и используйте ее в качестве родительской страницы.

Эта информация можеттакже можно найти на их веб-сайте :

Наследовать
Страница, которая содержит SlideMenuView, должна наследоваться от MenuContainerPage или IMenuContainerPage.Ваша страница может наследоваться от MenuContainerPage, так что вы можете просто установить свойство SlideMenuView, и оно заработает.

Если вашей странице нужно наследовать от других базовых страниц в вашем решении, вы должны реализовать интерфейс IMenuContainerPage, и вам нужносоздать страницы рендеринга для каждой платформы.Это не будет слишком сложно, просто скопируйте коды из примера, вы можете перейти на страницу SlideDownMenuPage в примере кода, чтобы сделать это.

...