Свойства настройки темы для дочернего элемента управления
Я знаю, что Button.command - это идентификатор темы для обычных кнопок, и я могу установить для него свойства. И я знаю, что eventHandlers по умолчанию не имеет идентификатора темы. Поэтому, чтобы установить свойства eventHandler централизованно, я исторически добавил то, что у меня было в моей теме:
<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>
Но мне нужно добавить темуId Button.EventHandler для каждого eventHandler.
Есть ли способ установить свойства в теме для детей, поэтому задайте свойства для всех eventHandlers, которые являются дочерними элементами Button.Command?
Ответы
Ответ 1
Я не могу помочь вам решить вашу проблему темы, но, возможно, я могу дать вам решение общей проблемы.
Я предполагаю, что то, что вы пытаетесь достичь, - это прикрепить некоторый красивый загрузчик ко всем событиям частичного обновления. Это можно сделать на более низком уровне с помощью API dojo.subscribe: http://dojotoolkit.org/reference-guide/1.6/dojo/subscribe.html
Пример кода:
// 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();
});
Этот код должен быть запущен при запуске приложения (событие onClientLoad будет просто отлично)