Ich habe vor einiger Zeit ein wenig WPF programmiert, aber ich komme gerade mit UWP zu xaml zurück, aber ich denke, das sollte funktionieren und kann nicht herausfinden warum. Grundsätzlich möchte ich ein ItemsControl (weil ich nur einige Daten auflisten möchte, möchte ich nicht Auswahl) anstelle eines ListView-Steuerelement. Hier sind meine Ressourcen:
%Vor%Hier ist mein ItemsControl:
%Vor%Hier ist mein DataTemplateSelector:
%Vor%Anstatt eine meiner Vorlagen anzuzeigen, wird nur der Name meines ViewModel-Typs (also im Grunde ToString) angezeigt.
Wenn ich es jedoch von ItemsControl auf ListView umstelle, funktioniert es einwandfrei.
Irgendwelche Vorschläge?
Interessant - ListView und GridView rufen beide den Template Selector auf; plain ItemsControl oder ListBox nicht.
Das Überschreiben der anderen SelectTemplateCore-Methode in der Vorlagenauswahl hilft, z. B .:
%Vor% Die letztere Methode wird in allen Fällen aufgerufen; Die erste wird nicht für ItemsControl
-Elemente aufgerufen. Diese Seite enthält eine Erläuterung zu Sortiert:
Wenn Ihr
ItemsControl.ItemsPanel
einItemsStackPanel
oderItemsWrapGrid
ist, geben Sie eine Überschreibung für die MethodeSelectTemplateCore(Object)
an. Wenn dasItemsPanel
ein anderes Panel ist, z. B.VirtualizingStackPanel
oderWrapGrid
, geben Sie eine Überschreibung für die MethodeSelectTemplateCore(Object, DependencyObject)
an.
Hier ist, was die Dokumentation sagt:
Anmerkungen
Wenn Ihr ItemsControl.ItemsPanel ein ItemsStackPanel oder ItemsWrapGrid ist, stellen Sie eine Überschreibung für die SelectTemplateCore (Object) -Methode bereit. Wenn das ItemsPanel ein anderes Panel ist, z. B. VirtualizingStackPanel oder WrapGrid, müssen Sie die Methode SelectTemplateCore (Object, DependencyObject) überschreiben.
Tags und Links c# uwp xaml win-universal-app