Unknown Build Error 'не может быть null "
У меня есть шаблон данных для моего списка, и я должен использовать ресурсы проекта для всех ярлыков. Если я удалю ссылку на ресурс и просто напечатаю текст для ярлыков, ошибок не будет. Если я попытаюсь использовать ресурсы, я получаю вышеуказанную ошибку.
Вот шаблон данных:
<DataTemplate x:Key="CheckBoxDatePickerItemTemplate">
<Border BorderThickness="1" CornerRadius="3" BorderBrush="{StaticResource GreenBorderBrush}">
<StackPanel Orientation="Horizontal" Background="#208897EB" MinWidth="370">
<CheckBox Focusable="False" IsChecked="{Binding IsChecked}" VerticalAlignment="Top"/>
<ContentPresenter Content="{Binding Name, Mode=OneTime}" Margin="2,2" Width="140" VerticalAlignment="Top"/>
<StackPanel Orientation="Vertical" Visibility="{Binding DateDataVisible}">
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IncludeNullDates}" VerticalAlignment="Center" Focusable="False"/>
<Label Content="{x:Static resx:Resources.Label_IncludeEmptyDates}" Margin="2,2" Width="170" VerticalAlignment="Center"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<ContentPresenter Content="{x:Static resx:Resources.Label_From}" Margin="2,0" Width="50" VerticalAlignment="Center"/>
<DatePicker SelectedDate="{Binding StartDate}" Margin="2,2" Width="150" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<ContentPresenter Content="{x:Static resx:Resources.Label_To}" Margin="2,0" Width="50" VerticalAlignment="Center"/>
<DatePicker SelectedDate="{Binding EndDate}" Margin="2,2" Width="150" />
</StackPanel>
</StackPanel>
</StackPanel>
</Border>
</DataTemplate>
Одно замечание: мы используем ресурсы в других файлах XAML без проблем. Однако этот файл является ресурсным словарем и добавляется в ресурсы app.xaml. Что с этой ошибкой?
Ответы
Ответ 1
Мы работаем над этим проектом в команде, и я просто скопировал строку для использования ресурсов... Я просто забыл скопировать атрибут xmlns. То, что я нахожу странным, заключается в том, что ошибка на самом деле не описательна и не дает никаких реальных подсказок относительно проблемы.
Мораль истории: если копировать строки кода, убедитесь, что все ссылки на пространства имен также скопированы.
Ответ 2
Старый пост, но для всех, кто попал сюда из поиска Google... Я получил точно такую же ошибку, и это оказалось для меня чем-то другим.
Я связывался со свойствами, используя полный синтаксис, потому что у меня не было целевого объекта в моей привязке. Однако я делал это с сокращением, и это явно не разрешалось с полностью определенным синтаксисом. У меня было что-то вроде этого:
{Binding (cmn:ElementData.ID)}
Я изменил это на:
{Binding Path=(cmn:ElementData.ID)}
И бум, загадочная ошибка ушла и все заработало как положено. Видимо ОЧЕНЬ важно не использовать стенографию с этим...
Спасибо Андрею Стахову по этой ссылке, чей комментарий привел меня к этому.