У меня небольшие проблемы с Matlab в отношении прослушивателей свойств. Я добавил прослушиватель к свойствам XLim
и YLim
оси, срабатывающим PostSet
:
h = addlistener(myaxes,{'XLim','YLim'},'PostSet',@myfunc);
Теперь я хочу, чтобы моя программа что-то делала после того, как изменились оба свойства, или если изменилось только одно, но в последнем случае я должен быть уверен, что другое не изменилось.
При использовании инструмента масштабирования на осях свойства всегда изменяются в обоих случаях и всегда в порядке x
, затем y
. Так что в этом случае у меня не было бы проблем, но иногда я устанавливаю свойства XLim
или YLim
программно и хочу, чтобы одна и та же функция запускалась. Каким-то образом я должен быть в состоянии сказать, только одно из этих двух свойств вызвало слушателя или оба.
На текущем этапе мой обратный вызов выполняется дважды: один раз для XLim
и один раз для YLim
. Я хочу, чтобы он выполнялся ровно один раз, и именно после того, как я узнаю, что в двух свойствах больше нет изменений. Вы знаете, как это сделать?