Оскільки це, здається, є початковою темою проблеми щодо відсутнього "InitializeComponent", я включу тут свою відповідь.
У мене теж була ця проблема, і я спробував усе, що я знайшов тут, і на всіх інших форумах, які Google міг знайти, проте жоден не вирішив цю проблему для мене. Після двох годин пробуючи все, я нарешті з’ясував, що не так у моєму налаштуванні.
У нашому проекті ми використовуємо компоненти Metro від MahApps . Погляд, який викликав проблеми, - це перегляд, успадкований від MetroWindow, як-от так:
<Controls:MetroWindow x:Class="ProjectNamespace.MyView"
xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"
... >
Тепер я визначив свої статичні ресурси як
<Controls:MetroWindow.Resources>
<prop:Resources x:Key="LocalizedStrings"/>
...
</Controls:MetroWindow.Resources>
Ось так я визначив Resources in UserControl
s у всіх своїх інших поглядах, тож я припускав, що це спрацює.
Однак це було не так Controls:MetroWindow
! Там я абсолютно потребував визначення ресурсу таким чином:
<Controls:MetroWindow.Resources>
<ResourceDictionary>
<prop:Resources x:Key="LocalizedStrings"/>
...
</ResourceDictionary>
</Controls:MetroWindow.Resources>
Тож у моєму випуску, підсумовуючи це, було відсутнє <ResourceDictionary>
тег. Я дійсно не знаю, чому це призвело до помилки "InitializeComponent", і це дивно навіть не створювало її на кожній моїй машині, але я це виправив. Сподіваюся, це допомагає (решта 0,001% людей, які стикаються з цією проблемою).