I just knocked up a prototype of this, and it seems to work fine in
Nice work :)
Single left click will open/close the clicked expander and close any
other open expanders
Single left click + SHIFT will open/close the clicked expander without
changing the state of any other expander.
Perfect :)
This allows 0 or more expanders to be expanded at any time, but could
easily be changed to ensure that at least 1 expander stayed open to
more closely resemble a traditional Accordion.
That could be a configuration option maybe.
The only thing I can think of that would be needed with this approach
is some sort of HeaderDataRender mechanism to allow the header of an
Expander to be rendered as the user desires.
Having the renderer would give me all the freedom I need to get rid of
the expand/collapse button (arrow).
Yes, the arrows aren't really needed when contained in an ExpanderGroup,
so maybe they should be turned off by default. Having a renderer opens
up possibilities to add icons and other stuff as well, so that would be
very nice.
I can post the code tomorrow if anyone is interested.
I'm very interested :)