I've posted a few blogs so far about the Custom Controls Framework. If you haven't seen them, you can check them out here. Here are a few other random thoughts on unbound controls, further exploration, and some open questions I have.

The Solution Packager tool for Dynamics 365 has been around for a few years, and Microsoft has kept it updated as they released new features/solution component types. However, despite adding support for some of the new features found in V9, they have not yet added support for Custom Controls. This can be fixed pretty easily by creating a custom plugin for the tool.

So far, these posts have focused on field controls, but it's also possible to create grid controls. Grid controls are used to render the table of records on either views or sub-grids on forms. They are very similar to field controls, except that they take a data-set parameter which contains all the details about the rows, columns, filtering, sorting, etc. In this post, we'll create a grid control which renders the grid as a list of tiles.

As mentioned in one of the previous posts, the Custom Controls Framework has a context object which gets passed around that contains a gold-mine of information. This post will explore some of the properties of the context object that jumped out at me, and provide a type definition file that can be used in your TypeScript development to get IntelliSense.

If you followed the previous posts, you should have a very basic control that let's you input a number and show it in a specified color if the value is below a threshold. Although the control is functional, it doesn't blend in with the out-of-the-box controls since it doesn't use the same styles. There are three different methods we can use to implement styles on custom controls, and we will explore those in this post.