无法从单独的XAML文件加载Xamarin.Forms中的MasterDetailPage中的Prism Master

时间:2016-10-10 14:12:52

标签: xamarin.forms prism

我试图将MasterDetailPage中的主人移动到单独的文件中。一旦我这样做,MD页面就不再加载了。

MasterDetailPage:

"1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
             prism:ViewModelLocator.AutowireViewModel="True"
             x:Class="PrismMasterDetailSample.Views.MenuPage"
             Title="Menu">


  <StackLayout  VerticalOptions="End"  HorizontalOptions="Center" Margin="20">
    <Button Text="DetailPage1" Command="{Binding NavigateCommand}" HorizontalOptions ="LayoutOptions.Center"/>

  </StackLayout>

</ContentPage>

代码隐藏:

namespace PrismMasterDetailSample.Views
{
    public partial class MenuPage : ContentPage
    {
        public MenuPage()
        {
            InitializeComponent();
        }
    }
}

这是MenuPage XAML

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

namespace PrismMasterDetailSample.ViewModels
{
    public class MenuPageViewModel : BindableBase
    {
        public DelegateCommand NavigateCommand { get; private set; }
        private INavigationService _navigationService;

        public MenuPageViewModel(INavigationService navigationService)
        {
            _navigationService = navigationService;
            NavigateCommand = new DelegateCommand(Navigate);
        }

        private void Navigate()
        {

                _navigationService.NavigateAsync("DetailPage1");

        }
    }
}

守则背后:     使用Xamarin.Forms;

{{1}}

ViewModel:

{{1}}

我很确定这是一个微不足道的问题,但我没有明白这一点。 非常感谢提前。

1 个答案:

答案 0 :(得分:0)

这是答案;-D

添加&#34;标题&#34;到菜单页

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
             prism:ViewModelLocator.AutowireViewModel="True"
             x:Class="PrismMasterDetailSample.Views.MenuPage"
             Title="Menu">


  <StackLayout  VerticalOptions="End"  HorizontalOptions="Center" Margin="20">
    <Button Text="DetailPage1" Command="{Binding NavigateCommand}" HorizontalOptions ="LayoutOptions.Center"/>

  </StackLayout>

</ContentPage>