I am getting error like \"Type reference cannot find public type named \'Sign\'\" in xaml. how can i resolve it. the Sign class is in the same assembly.
<
If the type resides in the same assembly as the XAML you are modifying, omit the assembly segment of the clr-namespace when you import the namespace.
DO
xmlns:local="clr-namespace:NamespaceContainingSignClass"
DO NOT
xmlns:local="clr-namespace:NamespaceContainingSignClass;assembly=AssemblyContainingSignClassAndXAML"
Sign
mapped to local
alias: xmlns:local="clr-namespace:NamespaceContainingSignClass"
Sign
is marked public
Sign
has parameterless constructorFor those in my boat who weren't helped by the top 1,00 results for this error on Google....in my case it was the precise opposite of the advice from smelch: i had to ADD the assembly info on the end of my xmlns declaration. Likely because of my particular circumstances, i guess - my datatemplate was in a stand-alone resourcedictionary xaml file. Not sure. I just know it didn't work until i added the assembly info, so for those floundering out there give that a whack and see if it works. i'm not inclined to dive into why, it just did.
I just discovered another issue, that may cause this problem. It is allowed to use dots in project names, e.g.
FancyTrainsimTools.Desktop
is a valid project name. If you use folders in the project, you may get constructs like this:
FancyTrainsimTools.Desktop.Logic
If you define data templates referencing items in this folder, this results in error messages. I also used a hierarchical datatemplate, but this gives slightly different messages.
The workaround:
Rename your project by removing the dot:
FancyTrainsimToolsDesktop
Edit: I try to reproduce the issue again, in order to report a bug, but now it all works.... So mystery not yet solved and not clear what to do to create w ork around....