itowlson Ansatz ist ein guter, aber es ist nur ein Anfang. Hier ist etwas, das für Ihren Fall (und die meisten, wenn nicht alle Fälle) funktioniert:
%Vor%Dann können Sie in Ihrem XAML einen beliebigen Typ mit beliebiger Tiefe erstellen. Zum Beispiel:
%Vor%Hier gibt es ein paar wichtige Ideen:
Dies wird von Anfang an nicht in WPF 3.x unterstützt (ich denke, es könnte in 4.0 sein, aber ich bin mir nicht sicher); aber es ist einfach, mit einer Markup-Erweiterung einzurichten.
Zuerst müssen Sie eine Markup-Erweiterungsklasse erstellen, die den Typparameter als Konstruktorargument verwendet:
%Vor%Nun verwenden Sie diese Markup-Erweiterung anstelle der Erweiterung x: Type:
%Vor%Es ist unnötig zu sagen, dass dies verallgemeinert werden kann, um beliebige generische Typen instanziieren zu können; Ich habe das nicht gezeigt, weil es ein bisschen mehr Komplexität hinzufügt.
Tags und Links wpf .net xaml hierarchicaldatatemplate