I am working through the requirement to make a WPF Application single instance only.
However – I have to pass the command line to the first instance and then perform some UI action.
I am using a Mutext to check for already running instances, I do use NamedPipes to transfer the command line to the already running instance.
But of course I am not in the correct Thread to access “Window1”.
I tried to store a reference to “Window1” in a static class and then use the Dispatcher to call a Method in “Window1”, however, as soon as I try to access a variable (class wide scope in “Window1”) I receive a “Object reference not set to an instance of an object.”
The UI Action is to add a new Tab to a TabControl – during initialization of the new Tab some work is done – and the variables are initialized and even the method I want to call works during the init – but when called from the Dispatcher it fails.
Any hints, how to do this? Am I on the wrong track here?
Thanks!
This is easy:
You can call this from your App.Startup and also from your thread that receives messages from the named pipe.
The key considerations here are: