title: Is a custom usercontrol created each time the datacontext changes?
body: <p>This is more of a general question...
  I have a user control that i've written (UserControl,not Custom Control). i'm using this control in the a DataGridColumn to provide lookup functionality..much like this:</p>
  
  <pre><code>                &lt;DataGridTemplate ColumnHeader="Company"&gt;
                     &lt;DataGridTemplateColumn.CellTemplate&gt;
                          &lt;DataTemplate&gt;
                              &lt;lookupCtl:LookUpCTL SelectedCompany="{Binding Company, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                                             CompanyChangedCommand="{Binding DataContext.CompanyChangedCmd, RelativeSource={RelativeSource AncestorType=DataGrid}}"/&gt;
                          &lt;/DataTemplate&gt;
                      &lt;/DataGridTemplateColumn.CellTemplate&gt;
                  &lt;/DataGridTemplateColumn&gt;
  </code></pre>
  
  <p>What i'm noticing is that whenever the dataconext changes for the parent/containing control, the constructor of LookUpCTL is called.  Is this expected behavior?  Anyway to prevent this? as i don't see why this necessary...the single instance of the control should be able to refresh itself from the datacontext i think.</p>
  
  <p>Edit: googling is not providing any clear answers...but from what i've read, it may be the Datagrid that's the issue.  since my control is used in a datagrid, each time the grid's itemsource changes, does it destroy and recreate the controls?  i can see sense in it doing so..but not sure if that is the reason for what i'm seeing.  Assuming it is...is there a way to have the datagrid reuse instances of the usercontrol rather than create new ones when the datagrid's itemsource changes?</p>