I am developing a WPF-application using mvvm pattern. And a strange problem occurred to me. There is a form, which contains a devexpress DXGrid control. There is a command binded to double click gesture in presenter. When the command triggers a new window is created and shown through factory class(the Show() method is used).
So, it happens from time to time that the whole application(all application windows) is blocked when this window is shown. This lockup disappears after i focus any other application.
For the first time this problem occurred after updating devexpress version. Then this problem occurred any time new window was shown after double click on grid row. The problem was partially fixed by setting new window`s Owner property.
Now this problem occurs from time to time. It seems as if threads are involved here, but i dont understand how. =(
p.s.: there is one more strange thing, when new window is shown and no lockup-problem occurred, the first window is still focused and i have to click on newly shown window before i can use any controls, placed on it.
I have tried:
- set ShowActivated property
- call Activate() after Show()
- newform.Dispatcher.CheckAccess() to
determine which thread calls Show()
method - check newform.IsActive property after show (value = true)
Could you tell me how to fix, please? Thank you.