2013-10-22 11 views
10

Ich weiß Button.command ist die Theme ID für normale Schaltflächen und ich kann Eigenschaften dafür festlegen. Und ich weiß, EventHandler haben standardmäßig keine Design-ID. So setzen Eigenschaften eines Eventhandler zentral, habe ich historisch hinzugefügt, was ich in meinem Thema hatte:Theme Einstellungseigenschaften für Kind der Kontrolle

<control> 
     <name>Button.EventHandler</name> 
     <property mode="override"> 
      <name>onStart</name> 
      <value>loading();</value> 
     </property> 
     <property mode="override"> 
      <name>onError</name> 
      <value>stoploading();</value> 
     </property> 
     <property mode="override"> 
      <name>onComplete</name> 
      <value>stoploading();</value> 
     </property> 
    </control> 

Aber ich muss dann jeder Eventhandler die themeId Button.EventHandler hinzuzufügen.

Gibt es eine Möglichkeit, Eigenschaften in einem Design für untergeordnete Objekte festzulegen, also Eigenschaften für alle eventHandlers festlegen, die untergeordnete Elemente von Button.Command-Steuerelementen sind?

Antwort

0

Ich kann dir nicht bei der Lösung deines Themaproblems helfen, aber vielleicht kann ich dir eine Lösung für das allgemeine Problem geben.

Ich nehme an, dass Sie versuchen, einige nette Loader an alle partiellen Aktualisierungsereignisse anzuhängen. Dies kann durch Verwendung dojo.subscribe API auf einer niedrigeren Ebene erfolgen: http://dojotoolkit.org/reference-guide/1.6/dojo/subscribe.html

Beispielcode:

// we need to activate io events 
dojo.config.ioPublish = true 
dojo.subscribe("/dojo/io/send", function(/*dojo.Deferred*/dfd){ 
    loading(); 
}); 
dojo.subscribe("/dojo/io/stop", function(){ 
    stoploading(); 
}); 

Dieser Code beim Start der Anwendung ausgeführt werden muss (onClientLoad Veranstaltung wird gut tun)

Verwandte Themen