I have just upgraded our wpf application from 3.5sp1 to 4.0.
The code below we use to bind the textbox to the underlying view model. The textbox is editable.
As an update I took Jonathans suggestion and rejigged the Binding to use LostFocus instead of PropertyChanged (where appropriate - ie wherever StringFormat was also specified).
As Jonathan said, in some cases you have to trigger binding refresh / validation manually taking this approach.
If anyone has better approach, I would love to see it.