En un constructor para una ventana de WPF, ¿qué debería ir antes de InitializeComponent () y qué después?

En general, he estado inicializando las propiedades delWindow sí mismo antesInitializeComponent() y la configuración de los controles contenidos dentro de después. Sin embargo, no he sido tan coherente y realmente no he notado ningún problema con el pedido. Asi que:

¿Estoy (potencialmente) haciendo algo horrible? En particular, ¿hay algún problema con la configuración de las propiedades de los controles secundarios antes deInitializeComponent()?¿Qué es el buen estilo en este sentido?

Edit: Dado que las dos primeras respuestas que obtuve fueron un poco contradictorias, permítanme ser más específico:

public Foo Foo {get; protected set}
public FooWindow (Foo foo)
{
    Foo = foo;
    this.Closing += FooWindow_Closing;
    Foo.Frobbed += Foo_Frobbed;

    InitializeComponent();

    this.DataContext = this;
    this.Title = Foo.Name() + " Window";

    FooListView.ItemSource = Foo.CalculateList();

    FocusManager.SetFocusedElement(this, FooListView);
}

¿Esto es correcto? ¿Debería estar haciendo MVVM y no tener nada en miWindow ¿constructor?

Respuestas a la pregunta(3)

Su respuesta a la pregunta