WpfHexEditorControl

Wpf Hexeditor is a powerful and fully customisable user control for editing file or stream as hexadecimal, decimal and binary. Can be used in Wpf or WinForm application

View project on GitHub

WPF HexEditor - Source Code

This directory contains all the source code for the WPF HexEditor project.

📁 Directory Structure

Main Library

  • WPFHexaEditor/ - Main hex editor control library
    • Services/ - Business logic services (10 services)
    • Core/ - Core infrastructure (ByteProvider, interfaces, converters)
    • Dialog/ - Dialog windows (Find, Replace, etc.)
    • Project: WpfHexEditorCore.csproj

Testing

  • WPFHexaEditor.Tests/ - Unit test project
    • Framework: xUnit
    • 80+ tests for service layer
    • Project: WPFHexaEditor.Tests.csproj

Sample Applications

Tools

  • Tools/ - Development and benchmarking tools
    • ByteProviderBench - Performance benchmarking with BenchmarkDotNet

🏗️ Project Architecture

Sources/
├── WPFHexaEditor/           # Main library (.NET 4.8 + .NET 8.0)
│   ├── Services/            # 10 business logic services
│   ├── Core/                # Core infrastructure
│   ├── Dialog/              # UI dialogs
│   └── Controls/            # UI controls
├── WPFHexaEditor.Tests/     # xUnit test project
├── Samples/                 # 8 sample applications
└── Tools/                   # Development tools

🎯 Supported Frameworks

  • .NET Framework 4.8
  • .NET 8.0-windows

🚀 Building the Solution

Build all projects:

dotnet build WpfHexEditorControl.sln --configuration Release

Build main library only:

dotnet build WPFHexaEditor/WpfHexEditorCore.csproj

Run tests:

dotnet test WPFHexaEditor.Tests/WPFHexaEditor.Tests.csproj

📚 Documentation

📝 Notes

  • The solution file is located at the root: WpfHexEditorControl.sln
  • All projects use SDK-style project format
  • Multi-targeting support for .NET Framework 4.8 and .NET 8.0-windows