Played around a bit with this, and it looks like Windows opens files that way by passing the file's path to the program as an argument. You can get the arguments in your program by accessing the
arguments
array of Program.Main, where you can either deal with it there, or pass it to the constructor of your form, and let the form handle it.
So in your case, I would suggest probably passing
arguments
to the main form of your application, seeing if there are any arguments being passed in, and open them as you normally would open a file in your program.
[Edit]
Forgot you were using WPF, that handles command line arguments a little differently, but
this[
^] has an example of how to handle them in WPF apps.