2016-08-09 1 views
0

Ich habe den folgenden Code, wo ich es generisch machen möchte. Also zum Beispiel statt NotificationView vw = new NotificationView(); In meinem Code, wenn der übergebene Typ vom Typ NotificationView ist, dann möchte ich eine Ressource von diesem Typ wie type.TryFindResource ("") .... finden Gibt es eine Möglichkeit, es zu tun. Bitte helfen Sie.Suchen DataTemplate Schlüssel von einem generischen Typ

public static DataTemplate getDataTemplate(Type type) 
     { 

      NotificationView vw = new NotificationView(); 

      var DataTemplate = vw.TryFindResource("CustomNotificationTemplate") as DataTemplate; 
      return DataTemplate; 
     } 
+0

Ich glaube nicht, dass das Tag 'Generics' dort hingehört, oder verwenden Sie wirklich * generische Typen * (es gibt keine in Ihrem Code)? –

+0

Ich glaube auch nicht, dass Sie eine View erstellen müssen, um eine 'DataTemplate' zu ​​suchen, sie sollte dann in einem eigenständigen' ResourceDictionary' gespeichert werden oder über die 'Application.Resources' zugänglich sein. –

+0

Ich brauche eine Ansicht, weil ich die Ansicht erstelle und sie weiter an einen NotificationService sende, der ein Apex ist. – nikhil

Antwort

0

Der Parser erzeugt implizit eine DataTemplateKey und speichert die Vorlage die Taste. Sie können Ihre eigenen konstruieren, übergeben Sie einfach den Typ in den Konstruktor.

+0

Hallo, ich habe versucht mit DataTemplate dataTemplate = getDataTemplate (Typ); und der Unterbrechungspunkt DOSENT führen die nächste Zeile aus es geht in eine Endlosschleife. Bitte helfen Sie. – nikhil

+0

Wie soll ich wissen, wo der Fehler ist, wenn ich nicht weiß, was die Implementierung von 'getDataTemplate' ist? Sie können auch in die Methode einsteigen und selbst sehen, was passiert. –

Verwandte Themen