Подтвердить что ты не робот

Ссылка типа не может найти открытый тип с именем

Я получаю ошибку, например: "Ссылка типа не может найти открытый тип с именем" Знак "в xaml. как я могу его решить. класс Sign находится в той же сборке.

<DataTemplate DataType="{x:Type local:Sign}">
    <Expander Padding="4"
              IsExpanded="{Binding RelativeSource={
                    RelativeSource Mode=FindAncestor, AncestorType={
                       x:Type ListBoxItem}}, Path=IsSelected}">
        <Expander.Header>
            <TextBlock Text="{Binding Name}" ... />
        </Expander.Header>
        <DockPanel LastChildFill="True">
            <Border DockPanel.Dock="Left" CornerRadius="16" BorderBrush="WhiteSmoke" Background="AliceBlue" BorderThickness="5" HorizontalAlignment="Center" VerticalAlignment="Center">
                <Image Source="{Binding Icon}" Width="90" Height="90" Stretch="Fill" />
            </Border>
            ...
        </DockPanel>                
    </Expander>

4b9b3361

Ответ 1

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

DO

xmlns:local="clr-namespace:NamespaceContainingSignClass"

НЕ

xmlns:local="clr-namespace:NamespaceContainingSignClass;assembly=AssemblyContainingSignClassAndXAML"

Ответ 2

Для тех, кто в моей лодке, которым не помогли лучшие 1,00 результатов для этой ошибки в Google.... в моем случае это была точная противоположность совета от smelch: мне пришлось добавить информацию о сборке в конце моей объявления xmlns. Вероятно, из-за моих конкретных обстоятельств, я думаю, мой паттерн данных был в автономном файле xaml resourcedictionary. Не уверен. Я просто знаю, что это не сработало, пока я не добавил информацию о сборке, так что для тех, кто барахтается там, вы получите удар и посмотрите, работает ли он. Я не склонен к тому, чтобы погрузиться в то, почему это произошло.

Ответ 3

  • Убедитесь, что корневой тег файла xaml имеет пространство имен с классом Sign, сопоставленное с local псевдонимом: xmlns:local="clr-namespace:NamespaceContainingSignClass"
  • Проверьте, отмечен ли класс Sign public
  • Проверьте, имеет ли класс Sign конструктор без параметров

Ответ 4

  • Пройдите и проверьте все ответы на этот вопрос - я уверен, что один из них прав, но я не знаю, какой из них работал у меня.
  • Сохраните проект, закройте Visual Studio, заново откройте Visual Studio.
  • Воила, теперь она волшебным образом работает, несмотря на то, что ничего не меняет.
  • Поклянись в Microsoft под своим дыханием и продолжай свою жизнь...