I've recently needed to create an MXML component that enables users to add MXML
content into it. The solution is simple yet powerful and provides a way to easily create
extendable MXML components.
In the example below, the component holds a ButtonBar and a ViewStack.
The ViewStack itself is a property of the component that can be added in MXML
when using the component. Each user can add as many views as he needs and
the ButtonBar displays the views.
Code can be found here.
Recently, I had to find a way to enable or disable drop down menu items according
to the current view. While searching for an elegant solution, I've stumbled across a
piece of code that changed my approach all together. It seems that you can add data
binding into the XML data itself. While Flex compiles the file, it parses the XML data and
assigns the correct data binding.
Take a look at the example below:
Code can be found here.
When using images with corner radius, we usually want to prevent the corner radius
from distorting when the image is scaled. This is when Scale9Grid comes to the rescue...
The implementation is not always clear, so here is a little example of Scale9Grid usage.
The Scale9Grid implementation can also be defined in the CSS style if needed.
Code can be found here.
Recently, I had to come up with a generic component that can scroll anything within it, according
to the mouse location.
This component extends Canvas and has a "Speed" property and a "ScrollToPosition" method.
Check out the example below. Source can be downloaded here.
Many times we use a combination of Grid and Chart to display the same data and we use the
same data provider for both. The problem starts when you want to filter out some data from the
chart (for example) but not filter it out in the grid.
If you use the same data provider and a filter function, the data will be filtered out in both.
A colleague from work offered a solution to use XML filtering for this task.
I've implemented this idea using an XML based data provider and ActionScript XML filtering
to filter out data from the chart only.
Take a look at the example below: you can filter out chart columns using the check boxes in
the grid.
Code can be found here.
While Flex provides you with a designated component for loading and communicating with external SWF files,
when you work in Flash - you are not that lucky.
In AS2, you could load an external SWF into a MovieClip and then target it using that MovieClip instance.
In AS3 however, things are not that easy: External SWF files are loaded using the Loader Class,
and in order to get access to their timeline - you must get a reference to that loader's contentLoaderInfo property.
Take a look at this example:
You can download the source here.