Microsoft Dynamics Ax developer's blog

Tuesday, July 12, 2011



Just updated my old sample to produce DGML in addition to .DOT, so now you can view cross-references in VS2010 interactively (filter, rearrange so on). For example picture above shows relations of LedgerVoucherObject.check

Download the job from SkyDrive:

Thursday, June 30, 2011

Tabax successor as an illustration of new dev features of Ax 2012

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