【问题标题】:SlideOverKit : A value of type 'SlideMenuView' cannot be added to a collection or dictionary of type 'IList'SlideOverKit:“SlideMenuView”类型的值不能添加到“IList”类型的集合或字典中
【发布时间】:2019-03-02 04:25:00
【问题描述】:

借助 NuGet 库中的 SlideOverKit 库,我正在 Xamarin.forms 中实现 BottomSheet。我已经在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属性,这是另一个问题。我该如何解决这个问题?请帮忙。

【问题讨论】:

    标签: c# xamarin xamarin.forms xamarin.android cross-platform


    【解决方案1】:

    SlideMenuView 必须放在 MenuContainerPage 中,而不是 ContentPage

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

    这个信息也可以在their website找到:

    继承
    包含 SlideMenuView 的页面必须继承自 MenuContainerPage 或 IMenuContainerPage。您的页面可以继承自 MenuContainerPage,这样你就可以设置 SlideMenuView 属性和 它会工作的。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-14
      • 2015-12-10
      • 2015-12-18
      • 2014-09-07
      • 1970-01-01
      • 2016-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多