Sample projects on GitHub

    The samples in this documentation are also available as complete, runnable projects in a public repository: github.com/spicelogic/wpf-html-editor-control-samples. Each one is a small WPF application that references the shipping NuGet package, so there is nothing to wire up and no license key to obtain first - every sample runs on the free trial exactly as it is checked in.

    The sample code is published under the MIT license, so you can copy any of it straight into your own application. The control itself remains commercial and is installed from NuGet.

    What is in the repository

    • 01-Quickstart - the smallest possible host: the editor filling the window in XAML, starting content set through BodyHtml, and a status bar driven by HtmlChanged.
    • 02-MvvmDataBinding - the one most people come for. BodyHtml bound two-way to a view model, and a demonstration of why you call UpdateBindings before reading a bound value.
    • 03-ThemeAndAppearance - border colour and thickness, the document font, and switching EditorMode between the design view and the source view.
    • 04-ToolbarCustomization - adding your own button to the editor's second toolbar strip from code-behind, so the toolbar matches your application rather than ours.
    • 05-MailMergeTemplate - registering merge fields, turning on the built-in placeholder toolbar, and previewing a template with a record substituted in.

    The gotcha the binding sample is built around

    The editor hosts a live document rather than a plain string, so a bound view model property reflects whatever the binding last pushed into it. If you read that property from code which runs without the editor losing focus first - a keyboard shortcut, a background timer, a button that does not move focus - the view model is a moment behind the user's last keystrokes. Call UpdateBindings before reading, and the current content is pushed into the dependency properties first. This is the single most common support question about the control, which is why sample 02 is built entirely around it.

    Which .NET version you need

    Whichever one your application already uses. The control ships binaries for .NET Framework 4.5, 4.7.2 and 4.8, and for .NET 5, 6, 7, 8, 9 and 10 on Windows, so a long-lived WPF application on .NET Framework 4.8 is a first-class target rather than a compatibility afterthought.

    The samples are checked in targeting net8.0-windows purely as a default. The target framework lives in a single line of Directory.Build.props at the repository root, which all five projects inherit, so retargeting the whole set is one edit:

    <TargetFramework>net48</TargetFramework>

    Every sample is verified to build cleanly on net45, net472, net48, net8.0-windows and net10.0-windows, with no source edits needed after retargeting.

    Running the samples

    You need Windows and the SDK matching whichever target you build against.

    git clone https://github.com/spicelogic/wpf-html-editor-control-samples.git
    cd wpf-html-editor-control-samples
    dotnet build WpfHtmlEditorSamples.sln
    dotnet run --project 01-Quickstart

    You can also just open WpfHtmlEditorSamples.sln in Visual Studio and set any of the five projects as the startup project.

    Building on Windows Forms as well

    The WinForms edition of the control has its own sample repository covering Word paste cleanup, toolbar customization, loading and saving, and mail merge: github.com/spicelogic/winforms-html-editor-control-samples. See the WinForms HTML Editor control for the product itself.

    Last updated on Aug 12, 2026

    Put this into practice.

    WPF HTML Editor Control ships with free C# and VB.NET sample projects and a 14-day evaluation.

    Prefer a guided look? Book a free live demo with our engineers - live on Zoom or Teams, never a chatbot.