WPF: Instantiating a new window/dialog causes >unrelated< list binding to stop updating

Solution 1:

Apparently when using

<Window.DataContext>
    <vm:MainViewModel/>
</Window.DataContext>

WPF creates a new instance of the datacontext, in the constructor of my MainViewModel i had static reference to itself. But when i instantiated a new window that reference got pointed to the newly created datacontext instead, which destroyed the bindings. To fix this i removed the code from above from all xaml files that had it and instead put this in the construction (code behind):

DataContext = MainViewModel.instance;