私は PasswordBox
〜に Page
。実装されたワークフローのため、ユーザーはサブページ(NavigationWindow
)と返すより GoBack()
メインページに移動します。
しかし、そのとき、パスワードボックスは常に空です!私の仕事はその行動を防ぐことですが、現時点では、どのようにそれを達成するのか分かりません。
もしあなたが私を助けることができれば素晴らしいだろう。 ありがとう
回答:
回答№1は2それは機能です。
後方ナビゲーションを有効にするには、ページの状態を保存する必要があります。それは安全ではありません。
回答№2の場合は0
彼の正確な問題は機能だとは思っていませんが、ナビゲーションサービスのバグです。
あなたのコードの背後には簡単な方法がありませんナビゲーション上のパスワードを空白にしているナビゲーションコントロールと、ボックスからパスワードを削除して空白にするユーザーを区別できます。 そのため、他のページに移動すると、あなたのビューモデル内のパスワードは常に空白になります。
私はこのハックを使用して、誰が自分のパスワードを変更したハンドラを呼び出してビューモデルを更新するかを決定しました:
private void PasswordBox_OnPasswordChanged(object sender, RoutedEventArgs e)
{
StackTrace stack = new StackTrace();
StackFrame[] stackframes = stack.GetFrames();
foreach (StackFrame stackFrame in stackframes)
if(stackFrame.GetMethod().Name == "Navigate")
return;
ViewModelPassword = PasswordBox.SecurePassword;
....