title: WPF Unbound Custom object
body: <p>here's my problem:</p>
  
  <p>I have a CustomObj with the INotifyPropertyChanged implemented, an UserControl and a Window, both will use that CustomObj as DataContext. In the UserControl there's an edit button that when clicked opens an Edit window for the CustomObj, with the ShowDialog native method.</p>
  
  <p>My problem is that I want to edit the CustomObj in my Window and only reflect the changes on my UserControl if the user clicks "Save", on the other hand if the user clicks "Cancel", no changes are made to the CustomObj in the UserControl.</p>
  
  <p>What is happening is that when I pass the CustomObj to the Window as an argument (I pass it to the Window constructor) is still bound to the CustomObj in the UserControl, and so, all the changes that I make in the Window are immediately reflected on the object in my UserControl.</p>
  
  <p>I've tried to instantiate a new object, unbound the DataContext and nothing works... I don't want to Create a new CustomObj and rebuild each property since this object is a very complex and extensive one.</p>
  
  <p>Is there a better way to do this??</p>
  
  <p>Thanks</p>