SpiceLogic.HtmlEditor.WPF
3.4.1
See the version list below for details.
dotnet add package SpiceLogic.HtmlEditor.WPF --version 3.4.1
NuGet\Install-Package SpiceLogic.HtmlEditor.WPF -Version 3.4.1
<PackageReference Include="SpiceLogic.HtmlEditor.WPF" Version="3.4.1" />
<PackageVersion Include="SpiceLogic.HtmlEditor.WPF" Version="3.4.1" />
<PackageReference Include="SpiceLogic.HtmlEditor.WPF" />
paket add SpiceLogic.HtmlEditor.WPF --version 3.4.1
#r "nuget: SpiceLogic.HtmlEditor.WPF, 3.4.1"
#:package SpiceLogic.HtmlEditor.WPF@3.4.1
#addin nuget:?package=SpiceLogic.HtmlEditor.WPF&version=3.4.1
#tool nuget:?package=SpiceLogic.HtmlEditor.WPF&version=3.4.1
SpiceLogic WPF HTML Editor Control
A ready-to-use, MVVM-optimized WYSIWYG HTML Editor control for WPF applications.
Features
- WYSIWYG HTML Editing with clean HTML/XHTML output
- MVVM Support with full two-way data binding (
BodyHtml,DocumentHtml) - Built-in Spell Checker with inline and dialog modes (OpenOffice dictionaries)
- MS Word Paste with automatic cleanup and conversion
- Image Handling - insert from file, URL, or clipboard with Base64 embedding
- Table Editor - create, modify, and style HTML tables
- YouTube Embedding - insert YouTube videos directly
- FTP Image Upload - upload local images to remote server
- Customizable Toolbar with modern vector graphic buttons that scale across all DPI settings
- CSS Style Support - apply inline and class-based styles
- Comprehensive API - caret positioning, HTML change events, custom paste handling
Installation
NuGet Package Manager
Install-Package SpiceLogic.HtmlEditor.WPF
.NET CLI
dotnet add package SpiceLogic.HtmlEditor.WPF
Package Reference
<PackageReference Include="SpiceLogic.HtmlEditor.WPF" />
Quick Start
XAML
<Window xmlns:wpfHtmlEditor="clr-namespace:SpiceLogic.WpfHtmlEditor;assembly=SpiceLogic.HtmlEditor.WPF"
Title="My Editor" Height="600" Width="900">
<Grid>
<wpfHtmlEditor:WpfHtmlEditor x:Name="HtmlEditor1" Margin="10" />
</Grid>
</Window>
Code-Behind
C#
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
// Set initial content
HtmlEditor1.BodyHtml = "<p>Hello <strong>World</strong>!</p>";
}
private void SaveDocument()
{
string html = HtmlEditor1.DocumentHtml;
File.WriteAllText("output.html", html);
}
}
VB.NET
Class MainWindow
Public Sub New()
InitializeComponent()
' Set initial content
HtmlEditor1.BodyHtml = "<p>Hello <strong>World</strong>!</p>"
End Sub
Private Sub SaveDocument()
Dim html As String = HtmlEditor1.DocumentHtml
File.WriteAllText("output.html", html)
End Sub
End Class
MVVM Data Binding
<wpfHtmlEditor:WpfHtmlEditor BodyHtml="{Binding MyHtmlContent, Mode=TwoWay}" />
License Key
Set the license key once at application startup, before any WpfHtmlEditor instance is created. The recommended location is App.xaml.cs (or Application.xaml.vb for VB.NET), inside an OnStartup override, so the key is in place for every window in the application:
C#
// App.xaml.cs
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
SpiceLogic.WpfHtmlEditor.WpfHtmlEditor.LicenseKey = "YOUR LICENSE KEY HERE";
base.OnStartup(e);
}
}
VB.NET
' Application.xaml.vb
Class Application
Protected Overrides Sub OnStartup(e As StartupEventArgs)
SpiceLogic.WpfHtmlEditor.WpfHtmlEditor.LicenseKey = "YOUR LICENSE KEY HERE"
MyBase.OnStartup(e)
End Sub
End Class
If LicenseKey is not set, the control runs in a 14-day trial mode. A purchased key can be obtained from your SpiceLogic customer account.
Supported Frameworks
| Framework | Status |
|---|---|
| .NET Framework 4.5 | Supported |
| .NET Framework 4.7.2 | Supported |
| .NET Framework 4.8 | Supported |
| .NET 5 (Windows) | Supported |
| .NET 6 (Windows) | Supported |
| .NET 7 (Windows) | Supported |
| .NET 8 (Windows) | Supported |
| .NET 9 (Windows) | Supported |
| .NET 10 (Windows) | Supported |
Documentation
For full documentation, samples, and API reference, visit: https://spicelogic.com/docs/wpfHtmlEditor
Product page (pricing, screenshots, change log): https://spicelogic.com/Products/WPF-HTML-Editor-Control-17
AI assistant integration (MCP server)
SpiceLogic publishes an official Model Context Protocol server for this control, among the first from a .NET UI vendor. Point Claude Code, Cursor, or VS Code Copilot at it and your assistant can look up a real property or event, pull an actual documentation page, or grab a snippet that compiles today, instead of guessing from stale training data.
You do not have to set it up first. Paste this into Claude Code, Cursor, or VS Code Copilot in agent mode and the assistant connects itself, then builds the integration:
First connect yourself to the SpiceLogic documentation server so you work from the
real API instead of memory. In Claude Code run: claude mcp add --transport http
spicelogic-wpf-editor https://mcp.spicelogic.com/html-editor/wpf . In VS Code or
Cursor, create .vscode/mcp.json with an http server named spicelogic-wpf-editor
pointing at that URL and start it. Then check that the SpiceLogic tools actually
respond. If they do not, tell me to restart the session and stop there rather than
writing code from memory.
Once the tools respond, add a WYSIWYG HTML editor to my WPF app: install the
SpiceLogic.HtmlEditor.WPF NuGet package, host the editor in the main window so it
fills the window, bind its HTML two way to a view model property, add a Save button
that writes the HTML to a file, then build and run it.
Every client gates a newly added MCP server behind a restart or a trust prompt, which is why the prompt tells the assistant to stop rather than fall back to guesswork. The endpoint is scoped to WPF, so a WPF question can never be answered with WinForms' API. See https://mcp.spicelogic.com for the tool list and per-client setup.
License
Commercial license with 14-day free trial. View EULA - SpiceLogic Inc.
Support
- Website: spicelogic.com
- Email: support@spicelogic.com
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0-windows7.0 is compatible. net6.0-windows was computed. net6.0-windows7.0 is compatible. net7.0-windows was computed. net7.0-windows7.0 is compatible. net8.0-windows was computed. net8.0-windows7.0 is compatible. net9.0-windows was computed. net9.0-windows7.0 is compatible. net10.0-windows was computed. net10.0-windows7.0 is compatible. |
| .NET Framework | net45 is compatible. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 is compatible. net481 was computed. |
-
.NETFramework 4.5
- System.ValueTuple (>= 4.5.0)
- Unofficial.Microsoft.mshtml.NetStandard (>= 7.0.3300.2)
-
.NETFramework 4.7.2
- System.Memory (>= 4.5.5)
- System.Resources.Extensions (>= 4.6.0)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
- System.ValueTuple (>= 4.5.0)
- Unofficial.Microsoft.mshtml.NetStandard (>= 7.0.3300.2)
-
.NETFramework 4.8
- System.Memory (>= 4.5.5)
- System.Resources.Extensions (>= 4.6.0)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
- System.ValueTuple (>= 4.5.0)
- Unofficial.Microsoft.mshtml.NetStandard (>= 7.0.3300.2)
-
net10.0-windows7.0
- Unofficial.Microsoft.mshtml.NetStandard (>= 7.0.3300.2)
-
net5.0-windows7.0
- Unofficial.Microsoft.mshtml.NetStandard (>= 7.0.3300.2)
-
net6.0-windows7.0
- Unofficial.Microsoft.mshtml.NetStandard (>= 7.0.3300.2)
-
net7.0-windows7.0
- Unofficial.Microsoft.mshtml.NetStandard (>= 7.0.3300.2)
-
net8.0-windows7.0
- Unofficial.Microsoft.mshtml.NetStandard (>= 7.0.3300.2)
-
net9.0-windows7.0
- Unofficial.Microsoft.mshtml.NetStandard (>= 7.0.3300.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.5.3 | 0 | 8/2/2026 |
| 3.5.2 | 0 | 8/2/2026 |
| 3.5.1 | 0 | 8/2/2026 |
| 3.5.0 | 0 | 8/2/2026 |
| 3.4.1 | 37 | 8/1/2026 |
| 3.4.0 | 47 | 8/1/2026 |
| 3.3.4 | 103 | 7/17/2026 |
| 3.3.3 | 100 | 7/13/2026 |
| 3.3.2 | 101 | 7/7/2026 |
| 3.3.0 | 101 | 7/6/2026 |
| 3.2.1 | 106 | 7/4/2026 |
| 3.2.0 | 101 | 7/3/2026 |
| 3.0.26 | 143 | 6/8/2026 |
| 3.0.25 | 131 | 5/22/2026 |