Back to Devexpress

BlazorPropertyEditorBase.ComponentModel Property

expressappframework-devexpress-dot-expressapp-dot-blazor-dot-editors-dot-blazorpropertyeditorbase.md

latest4.4 KB
Original Source

BlazorPropertyEditorBase.ComponentModel Property

Returns an IComponentModel descendant that wraps properties and events of a corresponding ASP.NET Core Blazor Editor.

Namespace : DevExpress.ExpressApp.Blazor.Editors

Assembly : DevExpress.ExpressApp.Blazor.v25.2.dll

NuGet Package : DevExpress.ExpressApp.Blazor

Declaration

csharp
public virtual IComponentModel ComponentModel { get; }
vb
Public Overridable ReadOnly Property ComponentModel As IComponentModel

Property Value

TypeDescription
DevExpress.ExpressApp.Blazor.Components.Models.IComponentModel

A component model of an ASP.NET Core Blazor Editor.

|

Remarks

To customize an ASP.NET Core Blazor Property Editor’s underlying component, call the View.CustomizeViewItemControl method and obtain the component model (the ComponentModel property).

If the Property Editor you want to customize is based on a single ASP.NET Core Blazor component type, the ComponentModel property returns the corresponding IComponentModel descendant.

If the Property Editor is based on multiple ASP.NET Core Blazor component types, you need to check the type before you apply changes.

In the following code sample, ColorPropertyEditor‘s component model is of the DxComboBoxModel<DataItem<Color>, DataItem<Color>> type. StringPropertyEditor‘s component model can be one of 4 types.

csharp
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Blazor.Components.Models;
using DevExpress.ExpressApp.Blazor.Editors;
// ...
public class PropertyEditorCustomizeController : ViewController<DetailView> {
    protected override void OnActivated() {
        base.OnActivated();
        View.CustomizeViewItemControl<ColorPropertyEditor>(this, (colorPropertyEditor) => {
            colorPropertyEditor.ComponentModel.CssClass += " custom-class";
        });
        View.CustomizeViewItemControl<StringPropertyEditor>(this, (stringPropertyEditor) => {
            switch(stringPropertyEditor.ComponentModel) {
                case DxTextBoxModel textBox:
                    textBox.CssClass += " custom-class";
                    break;
                case DxComboBoxModel<string, string> comboBox:
                    comboBox.CssClass += " custom-class";
                    break;
                case DxMemoModel memoModel:
                    memoModel.CssClass += " custom-class";
                    break;
                case DxMaskedInputModel<string> maskedInput:
                    maskedInput.CssClass += " custom-class";
                    break;
            }
        });
    }
}

For more information about XAF’s built-in Property Editors, refer to the following section: Data Types of Business Class Properties and Built-in Property Editors.

See Also

Implement a Property Editor Based on a Custom Component (Blazor)

BlazorPropertyEditorBase Class

BlazorPropertyEditorBase Members

DevExpress.ExpressApp.Blazor.Editors Namespace