Неизвестная ошибка сборки 'ключ не может быть нулевым' - PullRequest
20 голосов
/ 06 июня 2011

У меня есть шаблон данных для моего списка, и я должен использовать ресурсы проекта для всех меток. Если я удалю ссылку на ресурс и просто введу текст для меток, ошибок не будет. Если я пытаюсь использовать ресурсы, я получаю вышеуказанную ошибку.

Вот шаблон данных:

<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. Что с этой ошибкой?

Ответы [ 2 ]

43 голосов
/ 07 июня 2011

Мы работаем над этим проектом в команде, и я просто скопировал строку для использования ресурсов ... Я просто забыл также скопировать атрибут xmlns.Что я нахожу странным, так это то, что ошибка на самом деле не носит описательный характер и не дает никаких реальных намеков на то, в чем заключается проблема.

Мораль истории: если при копировании строк кода убедитесь, что все ссылки напространства имен также копируются.

0 голосов
/ 17 апреля 2019

Старый пост, но для всех, кто попал сюда из поиска в Google ... Я получил точно такую ​​же ошибку, и это оказалось для меня чем-то другим.

Я связывался со свойствами, используяполный синтаксис, потому что у меня не было целевого объекта в моей привязке.Тем не менее, я делал это сокращенно, и это явно не разрешено с полностью определенным синтаксисом.У меня было что-то вроде этого:

{Binding (cmn:ElementData.ID)}

Я изменил это на:

{Binding Path=(cmn:ElementData.ID)}

И бум, загадочная ошибка ушла, и все работало, как ожидалось.Очевидно, ОЧЕНЬ важно не использовать стенографию с этим ...

Благодаря Эндрю Стахову на этой ссылке, чей комментарий подсказал мне это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...