User interface development home page
This topic contains links to topics about developing user interface elements.
The user interface for Microsoft Dynamics 365 for Finance and Operations differs significantly from the interface for Microsoft Dynamics AX 2012. The client in Dynamics AX 2012 is a Microsoft Win32 application that has extensions that use ActiveX, WinForm, or WPF controls. The X++ application logic runs on the client for the form and table methods, and some logic occurs on the server. For controls, both the X++ logic application programming interface (API) and the physical Win32 control are tightly connected on the client. The client is an HTML web client that runs in all major browsers. These browsers include Microsoft Edge, Internet Explorer 11, Chrome, and Safari (see System requirements). The move to a web client has produced the following changes to client forms and controls:
- Form controls are split into logical and physical parts. The X++ logical API and related state run on the server.
- The logical and physical parts are kept in sync through service calls that communicate changes from each side. For example, a user action on the client creates a service call to the server that is either sent immediately or queued so that it can be sent later.
- The server tier keeps the form state in memory while the form is open.
The form metamodel continues to be used to define controls and application logic. This approach supports almost all the existing Form, Form DataSource, and Form Control metamodel and X++ override methods. However, some control types, properties, and override methods have been removed, either because of incompatibility with the new platform or for performance reasons. For example, ActiveX and ManagedHost controls can no longer be used to add custom controls, because they are incompatible with the HTML platform. Instead, a new extensible control framework has been added that lets you add additional controls.
- Action controls
- Sizing for input controls and grid columns
- Check box support in tree controls
- Display pages side-by-side using the Open in New Window icon
- Code migration - context menus
- Code migration - mouse double click
- Contextual data entry for lookups
- HierarchyViewer control
- Lookup controls
- File upload control
- How to: system-defined buttons
- Using images
- Specify the font and background colors for input, table, and grid controls
- Support for right-to-left languages: A primer on bidirectional text
- Creating icons for workspace tiles
- Keyboard shortcuts for extensible controls
- Slider and MessageBox
- Messaging API: Message center, Message bar, Message details
- Messaging the user
Form pattern guidelines