首页 > 解决方案 > SlideOverKit:“SlideMenuView”类型的值不能添加到“IList”类型的集合或字典中

问题描述

我在 NuGet Gallery中提供的SlideOverKit库的帮助下实现了BottomSheet 。我已经在GitHub 上提到了他们的示例。我的实施细节如下Xamarin.forms

实施细节:

<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属性,这是另一个问题。我该如何解决这个问题?请帮忙。

标签: c#xamarinxamarin.formsxamarin.androidcross-platform

解决方案


SlideMenuView必须放在 a而MenuContainerPage不是 a内ContentPage

在 c# 中查看他们的示例。在 XAML 中也可以这样做:
只需将您的替换ContentPage为 ay:MenuContainerPage或创建一个继承自该页面MenuContainerPage并将其用作父页面的自定义页面。

这些信息也可以在他们的网站上找到:

继承
包含 SlideMenuView 的页面必须继承自 MenuContainerPage 或 IMenuContainerPage。您的页面可以从 MenuContainerPage 继承,因此您只需设置 SlideMenuView 属性,它就会开始工作。

如果您的页面需要从您的解决方案中的其他基本页面继承,您必须实现 IMenuContainerPage 接口,并且您需要为每个平台创建渲染器页面。这不会太难,只需从示例中复制代码,您可以按照示例代码中的 SlideDownMenuPage 页面执行此操作。


推荐阅读