uri を使用したナビゲートを説明するチュートリアルはありますか。アプリケーションの起動時に、フレーム「Login.xaml」とそのビューモデルをロードします。「ログ」ボタンをクリックすると (リレーコマンドを使用します)、フレームに「Acceuil.xaml」をロードする必要があります。
どうやって作るの?
どうも
uri を使用したナビゲートを説明するチュートリアルはありますか。アプリケーションの起動時に、フレーム「Login.xaml」とそのビューモデルをロードします。「ログ」ボタンをクリックすると (リレーコマンドを使用します)、フレームに「Acceuil.xaml」をロードする必要があります。
どうやって作るの?
どうも
あなたは頑張りすぎています。フレーム ナビゲーションは非常に簡単です。'MyFrame' などのフレームを作成し、単純な NavigateUri 値 "/Acceuil.xaml" を使用してハイパーリンクを作成するだけです。ビューモデルのステータス/詳細からリンクを表示/非表示にする場合は、ビューモデルにバインドして更新するプロパティを使用します。例えば。UserInfo プロパティを使用してから、このようなコンバーター クラスを使用して、null 値またはクラス結果である UserInfo プロパティに基づいて表示/非表示を切り替えることができます。
public class HideWhenNullConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null)
{
return Visibility.Collapsed;
}
return Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
これが開始に役立つことを願っています。もう 1 つのヒントは、アプリケーションにロジックを追加して、認証されていない場所への移動を防止することです。例えば:
private void mainFrame_Navigating(object sender, System.Windows.Navigation.NavigatingCancelEventArgs e)
{
List<string> anonUrls = new List<string>();
anonUrls.Add("/Welcome");
anonUrls.Add("/Register");
anonUrls.Add("/ValidateEmail");
var myAnonUrl = (from u in anonUrls
where e.Uri.OriginalString.StartsWith(u)
select u).Count();
if ((WebContext.Current.User == null ||
WebContext.Current.User.IsAuthenticated == false) &&
myAnonUrl == 0)
{
origUri = e.Uri;
e.Cancel = true;
mainFrame.Navigate(new Uri("/Welcome", UriKind.Relative));
}
}
うまくいけば、これがナビゲーション フレームをもう少し理解するのに役立ちます。