Skip to main content
net8.0

Target Platform/Framework: Cross-Platform DevExpress Product Libraries Used: DevExpress AI-powered Extensions for OpenAI, Azure, Ollama, Semantic Kernel (https://www.devexpress.com/ai) Available in the following DevExpress Subscription(s): Universal, DXperience, ASP.NET & Blazor (includes DevExtreme) SBOM: https://sbom.devexpress.com/nuget/DevExpress.AIIntegration.Blazor.Layout/26.1.5-pre-26235

Published
Jan 1, 1900
128y ago
Total Downloads
19.5K
19,457

Install

dotnet add package DevExpress.AIIntegration.Blazor.Layout --version 26.1.5-pre-26235
ProductVersions
.NET
net8.0

README

DevExpress Blazor AI Integration: Layout

DevExpress.AIIntegration.Blazor.Layout contains AI-powered Extension resources for DevExpress Blazor Layout suite.

Examples

The Smart Paste feature requires the following NuGet packages:

Install required packages:

dotnet add package DevExpress.Blazor
dotnet add package DevExpress.AIIntegration.Blazor.Layout

Add a Smart Paste Extension to a Form Layout

@using DevExpress.AIIntegration.Blazor.Layout
@using DevExpress.AIIntegration.Blazor
@using DevExpress.AIIntegration.Extensions

<DxMemo @bind-Text="SampleText"
        Rows="14"
        ResizeMode="MemoResizeMode.Auto" />

<DxFormLayout @ref="FormLayout"
              Data="@model"
              CssClass="smart-paste-form-layout">
    <Extensions>
        <FormLayoutSmartPaste ItemDescriptions="@fieldDescriptions"
                              PromptAugmentation="@PromptAugmentation" />
    </Extensions>
    <ChildContent>
        <DxFormLayoutItem Caption="Full Name" ColSpanMd="12"
                          Field="@nameof(BillingFormModel.FullName)">
            <DxTextBox @bind-Text="@model.FullName"
                       NullText="Full Name" />
        </DxFormLayoutItem>
        <DxFormLayoutItem Caption="Amount Due" ColSpanMd="12"
                          Field="@nameof(BillingFormModel.AmountDue)">
            <DxMaskedInput @bind-Value="@model.AmountDue"
                           Mask="@NumericMask.Currency"
                           NullText="$0.00" />
        </DxFormLayoutItem>
        <DxFormLayoutItem Caption="Statement Date" ColSpanMd="12"
                          Field="@nameof(BillingFormModel.StatementDate)">
            <DxDateEdit @bind-Date="@model.StatementDate"
                        NullText="MM/DD/YYYY" />
        </DxFormLayoutItem>
        @*...*@
    </ChildContent>
</DxFormLayout>

<DxButton Text="Smart Paste"
          IconCssClass="icon-ai-sparkle"
          RenderStyle="ButtonRenderStyle.Primary"
          Click="OnSmartPaste" />
<DxButton Text="Reset"
          RenderStyle="ButtonRenderStyle.Secondary"
          Click="@OnResetClick" />

@code {
    DxFormLayout FormLayout { get; set; }
    BillingFormModel model = new();

    readonly Dictionary<string, string> fieldDescriptions = new() {
        { nameof(BillingFormModel.PhoneNumber), "US phone number. 
        Return exactly 10 digits without any formatting characters."}
    };

    const string PromptAugmentation =
        "Always override the current field value with the extracted one.";

    string SampleText { get; set; } =
        "Hi there,\n" +
        " \n" +
        "Following up on billing for April. The balance should be twelve hundred " +
        "— it was adjusted after our last conversation.\n" +
        "I also moved recently. My new billing address is:\n" +
        "123 Market Street, San Francisco, CA 94103\n" +
        "You can keep using my email: [email protected].\n" +
        "For phone, please use my mobile number going forward: 415-555-0199 " +
        "(not the office line).\n" +
        "The statement date should be mid-April.\n" +
        "Let me know if you need anything else.\n" +
        " \n" +
        "Best regards,\n" +
        "John Smith";

    async Task OnSmartPaste() {
        model.Reset();
        await FormLayout.SmartPasteAsync(SampleText);
    }

    void OnResetClick() {
        model.Reset();
    }
}

Evaluation Period, Pricing Options, and Licensing Terms

Whether you own a license or want to start a 30-day evaluation period, download and register your DevExpress license key. To obtain your key, log in to the DevExpress Download Manager. Use your existing DevExpress.com account or create a new account for free. For key registration instructions, see License Key for DevExpress Products.

If you purchase a license after evaluating a product, re-register your updated DevExpress license key to remove evaluation version warnings/messages.

This package is included in the following commercial subscriptions:

See DevExpress Subscriptions & Licensing for subscription comparison tables, purchasing FAQ, and licensing information.

Software Bill of Materials (SBOM)

To access SBOM files for DevExpress packages, see the following article: Software Bill of Materials (SBOM) for DevExpress .NET assemblies/NuGet packages, JavaScript, VCL and other redistributable artifacts.

See Also: Information Security | Security - What You Need to Know

Related Components/Packages

DevExpress.Blazor - Native DevExpress UI components for Blazor applications.

dotnet add package DevExpress.Blazor

Demos

Documentation

Useful Online Resources

Changes from Previous Version

No structural changes between v26.1.6-pre-26277 and v26.1.5-pre-26235.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

This version is marked prerelease. Validate its API and upgrade path before production use.No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.Compatibility metadata lists 1 target framework; confirm the exact target used by your application.This version is unlisted. Prefer a listed release unless you deliberately need this exact version for reproducibility.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.