Ссылка типа не может найти открытый тип с именем
Я получаю ошибку, например: "Ссылка типа не может найти открытый тип с именем" Знак "в 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>
Ответы
Ответ 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 под своим дыханием и продолжай свою жизнь...