У меня есть пользовательский элемент управления WPF, который я использую в элементе управления WinForms в ElementHostControl. Затем я запускаю окно WPF, пока форма Windows все еще открыта. Если я затем закрою окно WPF и попытаюсь добавить дочерний элемент в свой WPF UserControl, он выйдет из строя в «InitializeComponent ()» (дочернего элемента) с исключением:
«Первое случайное исключение типа« System.Configuration.ConfigurationErrorsException »в System.Configuration.dll. Дополнительная информация: этот элемент в настоящее время не связан ни с каким контекстом»
Я узнал, почему это происходит, но я не знаю, как решить проблему. Если я оставлю этот код:
public static void EnsureApplicationResources()
{
if (Application.Current == null)
{
// create the Application object
new Application();
string assemblyName = System.IO.Path.GetFileNameWithoutExtension(
Assembly.GetExecutingAssembly().ManifestModule.Name);
// merge in your application resources
Application.Current.Resources.MergedDictionaries.Add(
Application.LoadComponent(new Uri("/KolonistenClient;component/KolonistenResourceDictionary.xaml", UriKind.RelativeOrAbsolute))
as ResourceDictionary);
}
}
то все в порядке. Однако мне это нужно из-за того, что мой ResourceDictionary (и, следовательно, также мои определенные стили и шаблоны) в противном случае недоступен в окне и элементах управления WPF. Об этом я узнал здесь< /а>
Есть ли способ объединить лучшее из обоих миров? Сохранять мой ResourceDictionary, предотвращая сбой приложения?