WPF Datatemplate auf Instanz



  • Hallo

    Ist es auch möglich ein Datatemplate von einer Instanz zu erstellen statt von einer Klasse.

    Sprich ich habe eine Klasse. Davon 3 Objekte. Nun möchte ich für diese 3 Objekte jeweils ein anderes Datentemplate erstellen. Geht so was?



  • Hallo,

    natürlich kannst du allen 3 unterschiedliche Templates zuweisen. Kommt halt darauf an wie du es verwendest. Wenn du z.B. ne ListBox hast, kannst du nen ItemTemplateSelector verwenden, um für jedes Item neu zu entscheiden, welches Template es haben soll.



  • Danke für deine Antwort. Also ich habe ein Tabcontrol und habe das bisher so gemacht:

    <TabControl.Resources>
    
                <!--  Übersicht  -->
                <DataTemplate DataType="{x:Type Models:PageGeneralModel}">
                    <Views:PageGeneralView />
                </DataTemplate>
    
                <!--  Detailansicht  -->
                <DataTemplate DataType="{x:Type Models:PageDetailModel}">
                    <Views:PageDetailView />
                </DataTemplate>
    
                <!--  Profilansicht  -->
                <DataTemplate DataType="{x:Type Models:PageProfileModel}">
                    <Views:PageProfileView />
                </DataTemplate>
    
            </TabControl.Resources>
    

    Bisher habe ich drei Klassen definiert:

    PageGeneralModel
    PageDetailModel
    PageProfileModel

    die alle von PageModel ableiten und halt nichts weiter implementieren.

    Mein vorhaben: Ich würde nun nur gerne 3 Instanzen von PageModel anlegen und diese dann den 3 verschiedenen Views zuweisen.



  • Kann mir niemand weiterhelfen?



  • Das TabControl kennt auch den ItemTemplateSelector wie oben beschrieben. Wobei in nem TabControl würd ich halt einfach die 3 TabItems manuell anlegen und dann explizit jeweils das richtige Template zuweisen.


Anmelden zum Antworten