У меня есть ситуация, в которой я создаю пользовательский шаблон данных с использованием XamlReader.Parse (xamlString), где xamlString - это фрагмент, который содержит шаблон данных:
<DataTemplate xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<StackPanel Visibility="{Binding MyBinding, Converter={StaticResource boolToVisibilityConverter}}">
...
</StackPanel>
</DataTemplate>
Как видите, этот DataTemplate имеет ссылку на статический ресурс (BooleanToVisibilityConverter). Вызов XamlReader.Parse завершается без исключения, и я назначаю его результат (объект DataTemplate) объекту в иерархии сцены (в данном случае, GridViewColumn.CellTemplate). Но по какой-то причине при вызове MainWindow.Show () я получаю исключение:
System.Windows.Markup.XamlParseException: ''Provide value on 'System.Windows.Markup.StaticResourceHolder' threw an exception.' Line number 'x' and line position 'y'.'
Inner Exception:
Exception: Cannot find resource named 'boolToVisibilityConverter'. Resource names are case sensitive.
Почему загруженный фрагмент XAML не может ссылаться на существующий ресурс на странице?