我正在借助NuGet Gallery中可用的BottomSheet库在Xamarin.forms
中实现SlideOverKit。我已参考了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
不支持{ {1}}属性,这是另一个问题。我该如何解决这个问题?请帮忙。
答案 0 :(得分:0)
SlideMenuView
必须放在MenuContainerPage
中,而不是ContentPage
中。
请参见他们的示例in c#。在XAML中也可以这样做:
只需将您的ContentPage
替换为y:MenuContainerPage
,或创建一个继承自MenuContainerPage
的自定义页面并将其用作父页面。
此信息也可以在their website上找到:
继承
包含SlideMenuView的页面必须继承 MenuContainerPage或IMenuContainerPage。您的页面可以继承 MenuContainerPage,这样您就可以设置SlideMenuView属性和 它会工作。如果您的页面需要从解决方案中的其他基础页面继承, 您必须实现IMenuContainerPage接口,并且需要创建 每个平台的渲染器页面。不会太难,只需复制 示例中的代码,您可以按照示例中的SlideDownMenuPage页面进行操作 代码来做到这一点。