编辑导航抽屉菜单(滑块菜单)。 (主页详细信息)

时间:2016-09-20 15:45:34

标签: c# xaml xamarin xamarin.forms

尝试构建Slider菜单我使用来自官方Xamarin的这个文档。 MasterPageDetail

很奇怪,它不起作用。 VS2015 intellense认出了MasterDetailPage(我的类继承了它),但是当我尝试启动应用程序时,会出现下一个错误:

名称空间'Xamarin.Forms'中不存在类型或命名空间名称'MasterPageDetail'(您是否缺少程序集引用?)

发生了什么?你知道任何简单的工作演示吗? 我使用这个问题作为参考,但我没有得到它的工作...... Slider

一些答案​​使用MasterPageDetail,另一个使用app(class)实现了解决方案,我需要在ContentPage中执行此操作

感谢队友。

EDITED:我正在使用Xamarin.Forms并且我导入了它,我没有任何类似这样的类(MasterPageDetail)......很奇怪,这听起来像是一个愚蠢的事情,但我看不到它。

3 个答案:

答案 0 :(得分:0)

MasterDetailPage是来自Xamarin.Forms的类,如果你有同名的类,那么它可能是冲突。

以下是一些有用的链接:

https://developer.xamarin.com/guides/xamarin-forms/user-interface/navigation/master-detail-page/

https://developer.xamarin.com/api/type/Xamarin.Forms.MasterDetailPage/

您也可以从我的Github下载我的示例:

https://github.com/15mgm15/XamarinForms-MasterDetailPage-Recipe

答案 1 :(得分:0)

我明白了。

最后,我清理所有项目并使用下一个示例(仅添加MasterPageItem.cs,一块蛋糕)从零开始编码:

Working MasterDetailDemo

我自己改进了演示,创建了一个主页面详细信息,其中Master的项目绑定了特定的通用页面,它将填充自己的属性,其id依赖于传递给页面的构造函数。

Github Slider Menu improved demo

希望它有所帮助......

答案 2 :(得分:0)

  • 使用XAML创建MasterDetailPage的简单方法,首先您需要创建一个包含MasterDetailPageSecondPage的页面将包含DetailPage,通过这样做,您需要将此页面的层次结构更改为MasterDetailPage,最后在SecondPage内加载MasterDetailPage

  • 在您的项目中创建新页面 - MenuPage并将页面类型ContentPage更改为MasterDetailPage

    <MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
         BackgroundColor="White"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         x:Class="YourProject.MenuPage">
    </MasterDetailPage>
    
  • 然后转到MenuPage.cs并将层次结构更改为MasterDetailPage。

    public partial class MenuPage : MasterDetailPage
    {
       public ChatPage()
       {
           InitializeComponent();
       }
    }
    
  • 返回您的XAML页面 - MenuPage并添加:

       <MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         x:Class="YourProjectName.MenuPage">
    
    <MasterDetailPage.Master>
      <ContentPage  Title="Menu">
       <StackLayout Orientation="Vertical">
          <!--Here goes your Menu Items-->
         <Button Text="MyFirstButton"/>
         <Button Text="MySecondButton"/>
         <Button Text="MyThirdButton"/>
       </StackLayout>
     </ContentPage>
    </MasterDetailPage.Master>
    <MasterDetailPage.Detail>
      <local:SecondPage/>
    </MasterDetailPage.Detail>
    </MasterDetailPage>
    
  • 最后,您需要添加对DetailPage

    的引用
       <MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         x:Class="YourProjectName.MenuPage"
         <!-- Add this line to refer your DetailPage, `SecondPage`-->
         <!-- put your namespace and repeat in assembly -->
         xmlns:local="clr-namespace:YourProjectName;assembly=YourProjectName">
       </MasterDetailPage>
    

我希望它会帮助你!