当我想将参数传递给视图构造函数时,我在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;
}
有谁知道如何解决这个问题?非常感谢提前。
答案 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));