0

これらのMVVM純粋主義者とPasswordBoxバインディングの問題については知っていますが、コードビハインドを介してログインを処理しており、それは機能しますが、私の人生では、コードビハインドからDataContextを使用することを乗り越えることはできません.

このイベントは、パスワードボックスの PasswordChanged イベントに関連付けられています。これは別の方法で処理できますか?

private void CopyPassword(object sender, RoutedEventArgs e)
    {
        if(e.Source is PasswordBox)
        {
            var source = e.Source as PasswordBox;
            if(source.DataContext is LoginViewModel)
            {
                var vm = source.DataContext as LoginViewModel;
                vm.Password = source.Password;
            }
        }
   }
4

1 に答える 1

1

はい、さまざまな方法で処理できます。コード ビハインドに問題はありません。現在のソリューションには、具体的なビューモデルを結び付けているという問題がありPasswordBox、他のビューモデルで再利用できなくなります。

より良い方法は、イベント リスナーを使用して添付プロパティを記述することです。

開始できるリソースが多数あります。右側の関連リンクを確認してください。

http://www.wpftutorial.net/PasswordBox.html

于 2015-03-10T11:05:34.697 に答える