Hallo,
mir sieht dein Beispiel nicht nach dem "Decorator"-Pattern aus, denn dein "Decorator" soll doch das "Photo" umhüllen. Beide sind aber eigenständige Form-Instanzen, d.h. die Decorator-Form hat nichts mit der Photo-Form gemeinsam (du müsstest so jede Eigenschaft, Methode und Ereignis an die andere Form weiterreichen!!!).
Normalerweise verwendet man abstrakte Klassen zur Dekoration.
Schau dir mal das C#-Beispiel auf
de.wikipedia.org/wiki/Decorator an...
Wofür brauchst du denn den "Decorator"?