Я делаю систему перевода со словарями ресурсов в WPF. Но у меня возникает проблема, когда я пытаюсь загрузить недопустимый файл xaml в словарь ресурсов (например, так):
// Path is the path of my .xaml file (the file is invalid for the tests)
try {
Current = new ResourceDictionary() {
Source = new Uri(path)
};
} catch (Exception e) {
MessageBox.Show(e.Message);
}
Это вызывает исключение. Если это просто, что я могу просто поймать его, и я знаю, действителен ли файл xaml или нет.
Но проблема в следующем: попытка catch не получает исключения. Исключение по-прежнему вызывает сбой моего приложения, и я не знаю, почему.
Я действительно хочу иметь возможность просто знать, является ли файл действительным или нет. (Чтобы предотвратить сбой приложения, если пользователь просто установил путь к недопустимому файлу xaml)
Кто-то знает, как перехватить исключение или просто узнать перед загрузкой файла xaml, если оно допустимо?
РЕДАКТИРОВАТЬ: Исключение: System.Windows.Markup.XamlParseException