/ / PasswordBoxはナビゲーション上のコンテンツを失う - wpf

PasswordBoxはナビゲーション上のコンテンツを失う - wpf

私は PasswordBox 〜に Page。実装されたワークフローのため、ユーザーはサブページ(NavigationWindow)と返すより GoBack() メインページに移動します。

しかし、そのとき、パスワードボックスは常に空です!私の仕事はその行動を防ぐことですが、現時点では、どのようにそれを達成するのか分かりません。

もしあなたが私を助けることができれば素晴らしいだろう。 ありがとう

回答:

回答№1は2

それは機能です。

見る: MVVMのPasswordBoxにバインドする方法

後方ナビゲーションを有効にするには、ページの状態を保存する必要があります。それは安全ではありません。


回答№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;
....

こちらも見てみましょう: http://www.wpfsharp.com/2011/04/08/wpf-navigationservice-blanks-passwordbox-password-which-breaks-the-mvvm-passwordhelper/