将参数传递给详细视图构造函数时,Master-Detail页面上的Xamarin XAML错误

时间:2017-10-31 16:10:20

标签: c# xaml xamarin

当我想将参数传递给视图构造函数时,我在MasterDetailPage xaml中收到错误。 错误:找不到具有匹配x:参数的Xamarin.Forms.NavigationPage的构造函数。

MasterDetailPage:

    <MasterDetailPage.Master>
    <pages:LoginMasterDetailPageMaster x:Name="MasterPage" />
  </MasterDetailPage.Master>
  <MasterDetailPage.Detail>
    <NavigationPage>
      <x:Arguments>
         <pages:LoginView/>
      </x:Arguments>
    </NavigationPage>
  </MasterDetailPage.Detail>
</MasterDetailPage>

LoginView:

    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class LoginView : ContentPage
    {
        public LoginView(bool showAutoLogOutMessage)
        {
            InitializeComponent();
            BindingContext = ((ViewModelLocator)Application.Current.Resources["Locator"]).Login;
        }

有谁知道如何解决这个问题?非常感谢提前。

1 个答案:

答案 0 :(得分:1)

从xaml页面删除

<MasterDetailPage.Detail>
    <NavigationPage>
      <x:Arguments>
         <pages:LoginView/>
      </x:Arguments>
    </NavigationPage>
  </MasterDetailPage.Detail>

在代码后面设置,无论你想要什么

Detail = new LoginView(paramshere);

或者稍后

Detail = new NavigationPage(new LoginView(paramshere));