Skip to content
abbaye edited this page Mar 19, 2026 · 12 revisions

Welcome to WPF HexEditor Wiki

GitHub .NET 8.0 License Status


What is WPF HexEditor?

WPF HexEditor is a full binary analysis IDE for Windows built entirely with WPF and .NET 8.0. Think Visual Studio for binary files — with a VS-style docking engine, a plugin system, an integrated terminal, a XAML visual designer, and a powerful hex editor control at its core.

flowchart LR
    subgraph IDE["WpfHexEditor IDE v0.6.0"]
        App["IDE Application\nWpfHexEditor.App"]
        Editors["10 Editors\nHex · Code · XAML Designer · Text\nTBL · JSON · Image · Entropy\nDiff · Structure"]
        Panels["15+ Panels\nSolution Explorer · Terminal\nAssembly Explorer · NuGet Manager\nPlugin Manager · Plugin Monitoring · ..."]
        Plugins["Plugin System\nSDK + PluginHost\n12+ first-party plugins"]
    end
    Control["Standalone HexEditor Control\nembeddable in any WPF app"]
    App --> Editors
    App --> Panels
    App --> Plugins
    IDE -.->|reuses| Control
Loading

Quick Links

Getting Started Clone, build and run the IDE in minutes
Architecture Complete IDE + control architecture with Mermaid diagrams
Docking Engine XAML setup, layout persistence, panel registration
Project System .whsln / .whproj / VS .sln, ISolutionLoader, build system
Editor Registry IDocumentEditor contract, format-aware editor selection
ContentId Routing Tab & panel ID mapping, duplicate prevention
Plugin System Build your own plugin with the SDK
Terminal 31+ commands, scripting, plugin API
Plugin Monitoring Real-time CPU/memory charts per plugin
ByteProvider Virtual view, PositionMapper, undo/redo, smart save
Rendering Engine DrawingContext pipeline, 99% faster than V1
Search Architecture LRU cache, Boyer-Moore, SIMD, parallel search
API Reference HexEditor control public API
FAQ Frequently asked questions
Contributing How to contribute

IDE Features

Feature Description
VS-Style Docking Float, dock, auto-hide, colored tabs — 100% in-house (WpfHexEditor.Shell), 8 themes
Project System .whsln / .whproj, VS .sln / .csproj, open-folder mode, format migration
Build System IBuildAdapter + MSBuild/dotnet CLI adapter plugin, build configs, error panel integration
Plugin System IWpfHexEditorPluginV2, .whxplugin packages, hot-unload, permissions
Terminal 31+ built-in commands, HxScriptEngine, mode badge, session export
Plugin Monitoring Per-plugin CPU% + memory charts, PerformanceCounter + GC, 1 s polling
400+ Format Detection Format-aware editor routing, EmbeddedFormatCatalog
Inline Search Ctrl+F quick bar + Ctrl+Shift+F advanced (Hex/Text/Regex/TBL/Wildcard)
Options VS-style settings tab — theme, display, editing, behavior, plugins
8 Themes Dark · Light · VS2022Dark · DarkGlass · Minimal · Office · Cyberpunk · VisualStudio
NuGet Manager Solution-level NuGet package manager (Browse / Installed / Consolidate / Updates)
Assembly Explorer .NET PE inspection, decompilation (C# skeleton + IL), type hierarchy
Shared Undo Engine Coalescing undo (500 ms), transactions, save-point tracking across all editors

Editors

Editor Progress Notes
Hex Editor ~75% Insert/overwrite, 400+ formats, TBL, search, bookmarks
Code Editor ~90% Navigation bar, Inline Hints, Ctrl+Click, rect selection, UndoEngine, #region, Quick Info
XAML Designer ~70% Split-pane live canvas, bidirectional sync, adorners, snap, 9 panels, overkill undo
Text Editor ~50% Encoding support, rect selection, drag-to-move
TBL Editor ~60% Character table editor for ROM hacking
JSON Editor ~65% Live validation, diagnostics to Error Panel
Image Viewer ~30% Zoom/pan, rotate/flip/crop/resize pipeline
Entropy Viewer ~25% Entropy graph for binary analysis
Diff Viewer ~20% Binary diff between two files
Structure Editor ~30% .whfmt binary template editor

IDE Panels

Panel Progress
Parsed Fields ~75%
Data Inspector (40+ types) ~65%
Solution Explorer ~75%
Properties Panel ~60%
Error Panel ~70%
Output Panel ~65%
Terminal Panel ~70%
Plugin Manager ~65%
Plugin Monitoring ~60%
Assembly Explorer ~75%
NuGet Solution Manager ~70%
XAML Toolbox ~60%
XAML Resource Browser ~50%
XAML Design History ~65%
Quick Search Bar ~55%
Advanced Search ~45%

HexEditor Control — Key Stats

The WpfHexEditor.HexEditor UserControl can also be embedded in any WPF application without the IDE:

  • 99% faster rendering — custom DrawingContext vs legacy ItemsControl
  • 10-100x faster search — LRU cache + Boyer-Moore + SIMD + parallel multi-core
  • 80-90% less memory — Span<T> + ArrayPool
  • 21 specialized services — MVVM, 100% testable
  • 19 languages — instant runtime switching
  • Handles files from bytes to gigabytes

Latest Changes — v0.6.0 (2026-03)

  • Shared Undo/Redo EngineUndoEngine in Editor.Core.Undo: coalescing (500 ms), transactions, save-point tracking, replaces both editors' custom stacks
  • XAML Visual Designer — split-pane live canvas, bidirectional XAML↔canvas sync (~95%), 5 adorners, snap, zoom/pan, alignment (12 ops), 9 VS-like panels, 30 XD_* brush tokens, overkill undo/redo
  • XAML Designer Layout Modes — 4 split layouts (HorizontalDesignRight/Left, VerticalDesignBottom/Top), Ctrl+Shift+L cycle, persisted
  • Code Editor ~90% — navigation bar, Inline Hints, Ctrl+Click go-to-definition, Quick Info (hover), bracket highlight, rect selection (Alt+Click), text drag-to-move, #region colorization, URL hover, word highlight, scope guides, scroll markers, split view
  • Rect Selection + Drag-to-Move — Alt+Click rect selection, text drag-to-move in Code Editor & Text Editor
  • WpfHexEditor.Shell — docking engine renamed from WpfHexEditor.Docking.Wpf; 8 themes, VS-style chrome
  • VS Solution SupportSolutionLoader.VS plugin (priority 90): open .sln / .csproj files, 4 project templates
  • Open-Folder ModeSolutionLoader.Folder plugin (priority 85): .whfolder JSON marker, gitignore-aware
  • Build SystemIBuildAdapter + Build.MSBuild plugin (dotnet build CLI), build configs, error panel integration
  • NuGet Solution Manager — solution-level NuGet panel: Browse/Installed/Consolidate/Updates
  • Assembly Explorer — .NET PE inspection, C#/IL decompilation, type hierarchy, icon badges, lock badges
  • Synalysis Grammar SupportWpfHexEditor.Plugins.SynalysisGrammar (priority 45), UFWB grammar, IGrammarProvider
  • File Locking & External Change DetectionFileShare.ReadWrite + 500 ms debounce watcher, auto-reload

See CHANGELOG for full history.


Getting Started

git clone https://github.com/abbaye/WpfHexEditorIDE.git

Open WpfHexEditorControl.sln → set WpfHexEditor.App as startup → F5.

Embed the control in your own WPF app:

<ProjectReference Include="..\WpfHexEditor.Core\WpfHexEditor.Core.csproj" />
<ProjectReference Include="..\WpfHexEditor.HexEditor\WpfHexEditor.HexEditor.csproj" />
<hex:HexEditor FileName="data.bin" />

The V1 NuGet package (WPFHexaEditor) remains available but is no longer maintained. V2 targets .NET 8.0-windows exclusively.

👉 Full Getting Started guide →


Community

Navigation

Getting Started

IDE Documentation

HexEditor Control

Advanced

Development


v0.6.0 Highlights

  • WpfHexEditor.Shell (renamed from Docking.Wpf)
  • Code Editor ~90% (NavBar, Inline Hints, Quick Info)
  • XAML Visual Designer ~70%
  • Shared UndoEngine (coalescing + transactions)
  • VS .sln/.csproj + Open-Folder mode
  • Build System (IBuildAdapter + MSBuild plugin)
  • Assembly Explorer + NuGet Solution Manager
  • Synalysis Grammar Support (IGrammarProvider)

Links

Clone this wiki locally