Poiché questo sembra essere il filo conduttore per il problema relativo alla mancanza di "InitializeComponent", includerò qui la mia risposta.
Anch'io stavo avendo questo problema e ho provato tutto ciò che ho trovato qui e in tutti gli altri forum che Google ha trovato, tuttavia nessuno ha risolto il problema per me. Dopo due ore di tentativi, ho finalmente capito cosa non andava nella mia configurazione.
Nel nostro progetto, stiamo utilizzando i componenti Metro di MahApps . La vista che mi dava fastidio era una vista ereditata da MetroWindow, in questo modo:
<Controls:MetroWindow x:Class="ProjectNamespace.MyView"
xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"
... >
Ora, ho definito le mie risorse statiche come
<Controls:MetroWindow.Resources>
<prop:Resources x:Key="LocalizedStrings"/>
...
</Controls:MetroWindow.Resources>
È così che ho definito Risorse UserControl
s in tutte le altre mie visualizzazioni, quindi è quello che ho pensato funzionerà.
Tuttavia, non era così Controls:MetroWindow
! Lì avevo assolutamente bisogno della definizione delle risorse come segue:
<Controls:MetroWindow.Resources>
<ResourceDictionary>
<prop:Resources x:Key="LocalizedStrings"/>
...
</ResourceDictionary>
</Controls:MetroWindow.Resources>
Quindi il mio problema, in sintesi, era un <ResourceDictionary>
tag mancante . Non so davvero perché questo abbia prodotto l'errore "InitializeComponent" e stranamente non lo abbia nemmeno prodotto su tutte le mie macchine, ma è così che l'ho risolto. Spero che questo aiuti (il restante 0,001% delle persone che riscontrano questo problema).