Как наследовать состояния с mxml?

У меня есть следующий компонент панели под названием AdvancedPanel с controlBarContent:

<!-- AdvancedPanel.mxml -->
<s:Panel>
  <s:states>
    <s:State name="normal" />
    <s:State name="edit" />
  </s:states>
  <s:controlBarContent>
    <s:Button 
      includeIn="edit"
      label="Show in edit"
      />
    <s:Button 
      label="Go to edit"
      click="{currentState='edit'}"
      />
  </s:controlBarContent>
</s:Panel>

Я создал вторую панель, вызванную CustomAdvancedPanel на основе AdvancedPanel, так как я не хочу повторно объявлять controlBarContent

<!-- CustomAdvancedPanel.mxml -->
<local:AdvancedPanel>
  <s:Button includeIn="edit" label="Extra edit button" />
</local:AdvancedPanel>

Это не работает, потому что состояние 'редактирования' в CustomAdvancedPanel не объявляется согласно компилятору. Я должен повторно объявить состояние редактирования в CustomAdvancedPanel.mxml следующим образом:

  <!-- CustomAdvancedPanel.mxml with edit state redeclared -->
    <local:AdvancedPanel>
      <local:states>
        <s:State name="normal" />
        <s:State name="edit" />
      </local:states>
      <s:Button includeIn="edit" label="Extra edit button" />
    </local:AdvancedPanel>

Используя CustomAdvancedPanel в компоненте приложения показывает пустую панель с кнопкой "Go to edit". Но когда я нажимаю его, "Дополнительная кнопка редактирования" становится видимой, но кнопка "Show in edit" в панели управления не делает.

Когда CustomAdvancedPanel пуст, без перезаявленных состояний и "Работает просто великолепно дополнительная кнопка редактирования" панель.

Я думаю, что это - потому что объект состояния, объявленный в AdvancedPanel, не является тем же как CustomAdvancedPanel, таким образом, состояние отличается, даже если у них есть то же имя.как бы то ни было. Я не могу использовать состояния AdvancedPanel в CustomAdvancedPanel без (ре), объявляют их в mxml.

Там какой-либо путь состоит в том, чтобы достигнуть этого вида повторного использования состояния? Или существует ли лучший способ получить тот же результат?

9
задан JeffryHouser 18 October 2010 в 15:29
поделиться