Assign a Custom Image
- 3 minutes to read
In this lesson, you will learn how to associate a business class with a custom image. This image will represent the class in the navigation control, including detail and list form headers. For this purpose, the Contact class will be used. By default, it is associated with the image of its ancestor (the Person class). You will provide a custom image for the Contact class.
Before proceeding, take a moment to review the following lessons.
In the Solution Explorer, navigate to the Images folder in MySolution.Module project. XAF loads images from this folder.
For this tutorial, you can use custom image files or load them from the %PROGRAMFILES(x86)%\DevExpress 20.1\Components\%PROGRAMFILES(x86)%\DevExpress 20.1\.NET Core Desktop Libraries\Sources\DevExpress.Images\Images folder.
To use an SVG image in a C# project, save it as as \MySolution.Module\Images\Employee.svg.
To use an SVG image in a Visual Basic project, save it as \MySolution.Module\Images\MySolution.Module.Images.Contact.svg and ensure "Images" is capitalized in the file name.
For ASP.NET applications, use additional files for an icon's active and disabled states. These items must have the same name as the first file you added and a state's suffix, for example, Employee_Active.svg and Employee_Disabled.svg.
Refer to the Add and Override Images article for more information on how to use SVG and PNG images in XAF applications.
In Solution Explorer, select the module project and click the Show All Files () toolbar button. Select the images in the Images subfolder, right-click the selection, and choose Include In Project.
Select the images and switch to the Properties window. Set the Build Action option to Embedded Resource.
Invoke the Model Editor. Navigate to the BOModel | MySolution.Module.BusinessObjects | Contact node and set its ImageName property to "Employee".
- When the ImageName property is focused, the ellipsis button () is displayed to the right of the property value. You can click this button to invoke the Image Picker dialog and browse the available images.
- You can use the ImageNameAttribute to specify an image in code.
Run the application. Notice that the Contact navigation item now has a custom image assigned.
You can see the changes made in this lesson in the Main Demo | MainDemo.Module project. The MainDemo application is installed in %PUBLIC%\Documents\DevExpress Demos 20.1\Components.NET Core Desktop Libraries\eXpressApp Framework\MainDemo by default. The ASP.NET version is available online at http://demos.devexpress.com/XAF/MainDemo/.
Next Lesson: Make a Property Calculable