For most of the day I changed class bindings to use DataContext = this in the constructor or FindAncestor calls at the binding declaration. Late in the day I ran into an infinite recursion problem. Not wanting to diagnose it I found an MSDN article pointing me to use RegisterName("Window", this); in the constructor after InitializeComponent() to work around the issue.