title: ComboBox changed before Window is loaded
body: <p>I have a WPF / XAML Window that contains a ComboBox that is giving me problems.</p>
  
  <p>The window's ComboBox is firing off the <code>SelectionChanged</code> event.
  The Debugger callstack shows me that <code>SelectionChanged</code> is being called (indirectly) from the Window Constructor.  </p>
  
  <p>The problem is that the window has an event <code>Window_Loaded</code>, which does some final initialization of data-members.  Because this final initialization isn't done yet, the <code>SelectionChanged</code> event fails with a null-reference exception.</p>
  
  <p>There are several ways I could solve this, but I'd like to know the "most correct" way.</p>
  
  <ul>
  <li><p>I could fully initialize all my data members in the constructor. This violates the concept of keeping constructors minimal.</p></li>
  <li><p>I could code the SelectionChanged event handler to properly deal with some data-members being null.  This is coding to deal with only a startup problem that will never occur once the Window is fully constructed.</p></li>
  <li><p>I could make the data-members Lazy-Loaded, so they are not initialized by <code>Window_Loaded</code>, but rather when they are first accessed.  Seems like a bit of work to solve a problem that could be solved more simply.</p></li>
  </ul>
  
  <p>I assume I'm not the first person to deal with UI-events prior to the Window Loaded event.  What is the preferred way to handle this?</p>