Disable save button when validation fails

As you can likely see from the title, I am about to ask something which has been asked many times before. But still, after reading all these other questions, I cannot find a decent solution to my problem.

If I want to follow the accepted solution, I'd have to write my
validation code twice, as I cannot simply use the indexer. Writing
double code is absolutely not what I want, so that's not a solution
to my problem.

The second answer on that thread sounded very promising as first,
but the problem is that I have multiple fields that have to be
validated. That way, everything relies on the last checked property
(so if that field is filled in correctly,

CanSave

will be true, even
though there are other fields which are still invalid).

One more solution I've found is using an

ErrorCount

property. But as I'm validating at each property change (and so at each typed character), this isn't possible too - how could I know when to increase/decrease the