2015-03-10 6 views
0

Я знаю об этих пуристах MVVM и проблемах с привязкой к паролю, но я обрабатываю свой логин через codebehind, и он работает, но для жизни меня я не могу пережить использование DataContext из кода.MVVM Обработка PasswordBox от codebehind

Это событие прикреплено к событию 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; 
      } 
     } 
    } 

ответ

1

Да, его можно обрабатывать разными способами. Нет ничего плохого в кодировании. В вашем текущем решении есть проблема, связанная с конкретной моделью просмотра с PasswordBox, что делает ее недоступной для других моделей.

Лучше всего написать прикрепленное свойство с прослушивателями событий.

Существует много ресурсов, которые помогут вам начать работу, проверьте ссылки на них справа.

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

 Смежные вопросы

  • Нет связанных вопросов^_^