I spent ages trying to get this working. In the end, I gave up and just used the PasswordBoxEdit from DevExpress.
It is the simplest solution ever, as it allows binding without pulling any horrible tricks.
Solution on DevExpress website
For the record, I am not affiliated with DevExpress in any way.