Klasse existiert nicht im namespace Fehler in XAML
Ich Klasse, dass wählt die ItemDataTemplate für Objekte. Aber ich kann nicht darauf verweisen, die in meiner XAML-code. (Seite.Ressourcen).
Es ist die Seite Elemente in XAML. Die Klasse ist im commons-Ordner, und ich habe auf die commons-Ordner hier:
xmlns:common="using:Sample_App.Common"
dann, wenn ich wan ' T, um es in mein XAML:
<common:MyDataTemplateSelector x:Key="Selector" AdTemplate="{StaticResource Ad}" NormalTemplate="{StaticResource Normal}"></common:MyDataTemplateSelector>
Bekomme ich die folgende Fehlermeldung:
Dem Namen "MyDataTemplateSelector" existiert nicht im namespace "verwenden:MyDataSelector"
Hier ist die MyDataSelector Klasse:
namespace MyDataSelector
{
private class MyDataTemplateSelector : DataTemplateSelector
{
public DataTemplate NormalTemplate { get; set; }
public DataTemplate AdTemplate{ get; set; }
protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
{
if (item is TestApp.Mainpage.NormalData)
return NormalTemplate
if (item is TestApp.Mainpage.AdData)
return AdTemplate;
return SelectTemplateCore(item, container);
}
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie ein paar Probleme mit dem code. Erstens, Sie haben erwähnt, dass Ihre Klasse in "die commons "Ordner" - das ist völlig irrelevant. Die Lage der code-Datei in der Regel nicht Sache des Compilers, sondern der namespace deklarieren Sie die Klasse in hat Angelegenheit.
So, da Ihre Klasse ist im namespace
MyDataSelector
, die Referenz in Ihrer xaml-Dateien sollte wie folgt Aussehen:Und Sie würden die Referenz Ihrer Klasse wie folgt aus:
Weiteres Problem ist, dass Ihre Klasse als private deklariert wurde. Das macht keinen Sinn und wird wahrscheinlich nicht kompilieren. Entfernen
private
um Ihre Klasse interne, oder ändern Sie es zupublic
.