Click here to Skip to main content
15,888,301 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello,

In WPF, I open window2 from window1 with a button click keeping window1 open. When I close window2, I want to display 2 values in window1. How can this be achieved?

Thanks
Posted

This is the popular question about collaboration between windows. The most robust solution is implementation of an appropriate interface in window class and passing the interface reference instead of reference to a "whole instance" of a Window. Please see my past solution for more detail: How to copy all the items between listboxes in two forms[^].

(Sorry, the page referenced above is about System.Windows.Forms, but the ideas are exactly the same.

Please also see other solutions in this discussion. If the application is simple enough, the solution could be as simple as declaring of some internal property in one window and passing a reference to the instance of one window to the instance of another window. For more complex projects, such violation of strictly encapsulated style and loose coupling could add up the the accidental complexity of the code and invite mistakes, so the well-encapsulated solution would be preferable.

Please see also:
http://en.wikipedia.org/wiki/Accidental_complexity[^],
http://en.wikipedia.org/wiki/Loose_coupling[^].

—SA
 
Share this answer
 
v2
Thanks for the reply. I tried the code in the link provided, but that doesn't seem to work. Moreover, my window1 is open when window2 is active. When window2 is closed, window1, which is still active should display the values. This is my requirement.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900