Laden...

[Erledigt] DataType eines DataTemplate ist korrekt, aber das Template wird nicht benutzt

Erstellt von User16331 vor 12 Jahren Letzter Beitrag vor 12 Jahren 929 Views
U
User16331 Themenstarter:in
36 Beiträge seit 2009
vor 12 Jahren
[Erledigt] DataType eines DataTemplate ist korrekt, aber das Template wird nicht benutzt

Hi!

Ich habe ein ziemlich kurioses Problem mit DataTemplates. Ich definiere zwei Datentemplates für Exporter auf folgende Weise:

<UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary
                    xmlns:exporters="clr-namespace:Client.DataExport" 
                    xmlns:Results="clr-namespace:Client.DataExport.Results">
                    
                    <DataTemplate DataType="{x:Type exporters:FileExportCommandWrapper}">
                        <igRibbon:ButtonTool ToolTip="Export to Excel" Caption="{Binding Path=DisplayName}" SmallImage="/Client;component/Images/Icons/excel.png" Command="{Binding Path=Command}"/>
                    </DataTemplate>

                    <DataTemplate DataType="{x:Type Results:ExportCommandWrapper}">
                        <igRibbon:ButtonTool ToolTip="Export to Clipboard" Caption="{Binding Path=DisplayName}" SmallImage="/Client;component/Images/Icons/paste_plain.png" Command="{Binding Path=Command}"/>
                    </DataTemplate>
                </ResourceDictionary>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </UserControl.Resources>

An einer Stelle im XAML habe ich eine Liste von Exportern, die alle einen der beiden Typen haben, an ein ItemsControl gebunden. Das Binding klappt, der getter der Liste wird aufgerufen und die Liste enthält auch Elemente. Allerdings werden diese nicht mit dem entsprechenden DataTemplate für ihren Typ angezeigt. Es erscheint nur der Klassenname, was anscheinend bedeutet, dass das Template nicht gefunden wird oder aus einem anderen Grund nicht verwendet wird. Wenn ich einem DataTemplate einen x:key gebe und das ItemsTemplate direkt setze, dann geht es. Und das beste ist, an anderer Stelle im Code wird es auf die gleiche Art benutzt und da geht es. Ich bin echt ratlos X(

Habt Ihr eine Idee, was da los sein könnte?

Vielen Dank im Voraus und viele Grüße!

1.378 Beiträge seit 2006
vor 12 Jahren
U
User16331 Themenstarter:in
36 Beiträge seit 2009
vor 12 Jahren

Die Anwendung wird auf 3.5 gebaut. Da soll es den Bug ja nicht geben.
Die Resource selbst wird gefunden, denn wenn ich statt mit DataType mit x:key arbeite, dann wird das korrekte Template benutzt.

Aber gut, ich werde es einfach auf eine andere Art lösen, so daß ich nicht über den DataType das Template auswähle.