Binding для PasswordBox не реализован вполне намеренно, чтобы не было так просто перехватить пароль, введённый в поле.
В качестве стандартной и относительно безопасной практики, часто пользуюсь передачей PasswordBox-а в команду логина параметром.
<TextBox Text="{Binding Login}" x:Name="TbxLogin" />
<PasswordBox x:Name="PasswordBox" />
<Button Content="Log in" Command="{Binding SigninCommand}"
CommandParameter="{Binding ElementName=PasswordBox}" IsDefault="True" />
public ICommand SigninCommand { get; set; }
private void Signin(object param)
{
var passwordBox = param as PasswordBox;
if (passwordBox == null)
return;
var password = passwordBox.Password;
...
}