WPF is just a displayer of data. If you want to "compare the content" then you should compare the underlying, databound collections. Copying and pasting is also performed via the databound collections.
Edit: Technically the correct method to terminate an application is to end all threads...
In console programs, the thread that runs the console is the main thread. Close the application by making sure nothing is keeping the main thread open (e.g. Console.ReadKey() or close all worker threads).
In WinForms and WPF programs, the thread that runs the main form is the main thread. Call this.Close() from within the form to gracefully terminate the application. If there are worker threads that are busy, make sure to close them before calling this.Close().
All applications gracefully terminate when all their threads are closed. The only scenario where Shutdown(), Exit(), or similar should be called is in the case of major, unrecoverable error.