Меню гамбургера с формами Prism и xamarin не отображается - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь создать меню гамбургера, но когда я запускаю приложение, я получаю пустую страницу. Я использую Prism для разработки этого приложения android, и я следовал этой статье: https://dansiegel.net/post/2017/04/01/the-hamburger-menu-with-prism-forms, но для меня это не работает.

MainPage.cs

<?xml version="1.0" encoding="UTF-8"?>
<MasterDetailPage
    xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    x:Class="HomeManagement.Views.MainPage">
    <MasterDetailPage.Master>
        <!-- Hamburger Menu Secret Sauce... Add an Icon!!!! Make sure it's in your resources for your Platform Project -->
        <NavigationPage Title="Required Foo" Icon="ic_launcher.png">
            <x:Arguments>
                <ContentPage Title="Menu">
                    <StackLayout Padding="40">
                        <Label Text="Test hello" />
                        <Button Text="HuePage"/>
                    </StackLayout>
                </ContentPage>
            </x:Arguments>
        </NavigationPage>
    </MasterDetailPage.Master>
</MasterDetailPage>

MainPage.xaml.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;

namespace HomeManagement.Views
{
    public partial class MainPage : MasterDetailPage
    {
        public MainPage()
        {
            InitializeComponent();
        }
    }
}

MainPageViewModel

using Prism.Commands;
using Prism.Mvvm;
using Prism.Navigation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HomeManagement.ViewModels
{
    public class MainPageViewModel : ViewModelBase
    {
        public string UserName { get; set; }

        public MainPageViewModel(INavigationService navigationService)
            : base(navigationService)
        {
            Title = "Main hamburger";

        }
    }
}

Кто-нибудь знает, что происходит? Я использую Prism версии 7.2. Заранее спасибо

1 Ответ

1 голос
/ 09 марта 2020

Из того, что я вижу, вы назначаете MasterPage, но вы, похоже, не назначаете страницу сведений, которая, в свою очередь, оставляет ваш экран пустым! Попробуйте назначить ему страницу с подробной информацией

MainPage mainPage = new MainPage();
mainPage.Detail= new DetailPage();

Или из XAML

 <MasterDetailPage.Detail>
       <ContentPage Title="Detail">
                <StackLayout Padding="40">
                    <Label Text="Test hello" />
                    <Button Text="HuePage"/>
                </StackLayout>
            </ContentPage>
 </MasterDetailPage.Detail>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...