Microsoft Dynamics Ax developer's blog
Thursday, June 30, 2011
For some reason I've recreated some subset of tabax in Ax2012. I think it can be an illustration of some new Ax2012 features
Since I have no time for debugging learn winapi in deep I decided to use .NET framework as much as possible.
The most magic part of tabax for me is the code that creates and manages tab control to add images and change size of tabs. That code was written by AndyD from AxForum.
now we have a managed host control and can just use any .NET control we want. I decided to use tab control from WPF.
I took Expression Blend and created my own template for control and implemented several templates for tabs (for example, in the screenshot above you can see blue gradient on editor tabs and darker blue gradient on selected tab related to X++ editor).
After that I copied template as avery big string to X++ method and just loaded it in ManagedHost control.
Since Ax 2012 supports events and they are seamlessly integrated with .NET there was no problems with reacting to user actions.
In addition I've found an example of drag-and-drop for tabs and translated it to X++ - now I can reorder tab pages by dragging them.
As a result I have just one form that uses only plain vannila .NET framework (no custom DLLs) all logic is implemented in X++, visual design is stored in 1 big string literal inside X++ form