Laden...

WF 4 - Custom Designer, Adding Toolbox Items

Erstellt von the_lmich vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.695 Views
the_lmich Themenstarter:in
248 Beiträge seit 2005
vor 14 Jahren
WF 4 - Custom Designer, Adding Toolbox Items

Tach zusammen,

ich versuche mich gerade daran die Hands-On-Labs von der WF4 zu ergründen. Dort wird gezeigt wie man einen eigenen WF-Designer mit Hilfe von WPF erstellen kann.

Einfaches Ding, soweit kein Problem. Nun möchte ich aber nicht alle bestehenden Aktivitäten hardcodiert meiner Toolbox zuordnen sondern versuche über die System.Activities-Assembly zu reflektieren und mir die Aktivities in die Toolbox zu klatschen.

Also anstelle eines:

ToolboxItemWrapper tool = new ToolboxItemWrapper(typeof(System.Activities.Statements.If), "If-Condition");

möchte ich sowas wie


foreach (System.Type t in assembly.GetTypes())
  {
     if (???)
      {
          ToolboxItemWrapper tool = new ToolboxItemWrapper(t);
          category.Tools.Add(tool);
      }
  }

wobei die drei Fragezeichen mein Problem darstellen. Ich bekomme seit Stunden eine NotSupportedException mit der Meldung "Type 'xyz' is not a valid toolbox type".

Ich habe mehrere Versuche gestartet. Unter anderem:

  • nur Subklassen von Activity zulassen
  • nur Klassen aus dem Namespace "System.Activities" zulassen

Hat auch nix genutzt. Mittels Reflector habe ich die Basistypen der Activities mal genauer untersucht. Die sind m.E. total wirr abgeleitet. Mal von Object, mal von Activities, mal von Catch (bei Catch<T>), usw ...

Wie also kann ich die Activities zur Laufzeit auf meine Toolbox klatschen? Hat jemand Erfahrungen? Oder ist das der komplett falsche Ansatz?

Vielen Dank im voraus,
Torsten