PROBLEMパスMVVMプリズムナビゲーション引数
やあやあやあSO。
mvvm prismを使用したマスター詳細ページアプリがあります。ユーザーが自分のアプリにログインすると、ログインページからマスターページに移動します。ログインページのナビゲーションパラメータをユーザに渡したい詳細ページがマスターページ内にネストされています。 。 。詳細ページはマスターページのXAMLにネストされているため、引数を正しく渡す問題があります。
<MasterDetailPage.Master>
<pages:HamburgerMenu x:Name="HamburgerMenu" />
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
<NavigationPage>
<x:Arguments>
<pages:UserPage x:Name="UserPage" />
</x:Arguments>
</NavigationPage>
</MasterDetailPage.Detail>
app.xaml.csユーザーがログイン後、メニューやユーザページをレンダリングする権利ここ
APP構造
マスターPage.xamlをちょっといいUI Loginページをレンダリングするアプリケーションのエントリポイントは、メニュー項目の一部ではなく、マスター詳細ページに関連付けられた方法であるこれは、そして合格含むネストされた詳細ページを持っているマスターページに私のデータベースから一部のユーザー情報を渡ししようとする際に、ユーザのログイン・ページ - viewmodel.cs
protected override void OnInitialized()
{
InitializeComponent();
MainPage = new LoginPage();
}
マスター詳細ページへロギングを食べましたデータバインドされたユーザー名フィールド。
public NavigationParameters np = new NavigationParameters();
// magic code everywhere
private async void LoginAsync()
{
var user = await LoginAttemptAsync(_awsomePassword);
np.Add("UserName", user.name);
await _navigationService.NavigateAsync("MasterPage", np);
}
XAMLで詳細を指定しないでください。ナビゲーションURIから来る必要があります。 –
ドキュメントはXAMLの詳細を指定しています。https://developer.xamarin.com/guides/xamarin-forms/application- '' ' ' ''を使って、基本/ナビゲーション/マスター詳細ページ/それはベストプラクティスではないのですか? –
いいえ.Prismを使用するときは、URI経由でナビゲーションスタックを構築する必要があります。これにより、Prismはビューを解決して、必要に応じて依存関係を注入することもできます。 –