Điều tôi muốn làm: tạo thành phần MXML với một số trẻ em, sau đó mở rộng nó qua MXML để tạo thành phần mới với nhiều trẻ em hơn mà không làm mất tập gốc. Nói cách khácMở rộng các thành phần tùy chỉnh MXML qua MXML
tạo ra một thành phần bc.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:BorderContainer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300">
<s:Button id="b1" label="button1"/>
</s:BorderContainer>
và sau đó mở rộng nó đến một mc.mxml thành phần riêng biệt
<?xml version="1.0" encoding="utf-8"?>
<borderContainerX:bc xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:borderContainerX="borderContainerX.*">
<s:Button id="b2" y="100" label="button2"/>
</borderContainerX:bc>
và có được một thành phần với 2 nút.
Tôi đã nhìn thấy chủ đề khác nhau về cách thức này là một trong hai không thể (1) hoặc trên cách giải quyết để thực hiện điều này (2, 3) và đã tự hỏi nếu một cái gì đó đã thay đổi với sự ra đời của Flex 4 hoặc nếu chúng tôi vẫn còn bị mắc kẹt với những cách giải quyết cuối cùng trong chủ đề 3 dường như gợi ý tại Flex 4 sửa chữa tất cả?
Tại sao không sử dụng một kết hợp của MXML và hành động Kịch bản? Tạo nút thứ hai của bạn trong phương thức createChildren() của thành phần thứ hai? – JeffryHouser
chắc chắn. Tôi chỉ ngạc nhiên rằng mxml tinh khiết vẫn không hoạt động. Thành thật mà nói, nó rất tốt đẹp để thiết lập các thành phần thông qua mxml, nó có vẻ rất lạ mà điều này là không thể. –