Building your own XAML control

A custom control is a loosely coupled control defined in a class which derives from Control. The UI of custom control is generally defined in a resource dictionary inside the resource file. We can create themes for custom control and reuse them in various projects very easily.

Button, CheckBox, TextBox, and so on, even ListView and GridView, are nothing but custom controls. You can easily load them inside an XAML page.

It's not always possible to use only default control sets that come with the SDK. Sometimes, it is useful to create our own custom control, expose its required properties, and design the template from scratch as per our need.

A custom control generally inherits from the System.Windows.Controls.Control class. You may derive from a different custom control also depending on your requirement.

Custom controls are compiled into a DLL assembly and can be reused in multiple places very easily. You have total control over its code, thus giving you more flexibility to extend the behavior. Once you build and add the reference of a custom control to your project, you can find it in the toolbox and you will be able to drag and drop the control in your design view and start working with that very easily.

Let us create two Universal Windows projects in our solution. One will be a main application project and another will be a class library project. To get started, go to File | New | Project... and navigate to Visual C# | Windows Universal. First create the Blank App (Universal Windows) project, then follow the same steps and create the Class Library (Universal Windows) project:

So, in your solution, there will be two projects. In the Class Library project, we will create the custom control and reference this assembly in the main application. Let's first add the reference in the main application. Right-click on the main application project and add a reference to the class library:

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.156.140