TextControlBox.WinUI.JuliusKirsch 1.1.0-alpha

This is a prerelease version of TextControlBox.WinUI.JuliusKirsch.
There is a newer version of this package available.
See the version list below for details.
dotnet add package TextControlBox.WinUI.JuliusKirsch --version 1.1.0-alpha
                    
NuGet\Install-Package TextControlBox.WinUI.JuliusKirsch -Version 1.1.0-alpha
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TextControlBox.WinUI.JuliusKirsch" Version="1.1.0-alpha" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TextControlBox.WinUI.JuliusKirsch" Version="1.1.0-alpha" />
                    
Directory.Packages.props
<PackageReference Include="TextControlBox.WinUI.JuliusKirsch" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TextControlBox.WinUI.JuliusKirsch --version 1.1.0-alpha
                    
#r "nuget: TextControlBox.WinUI.JuliusKirsch, 1.1.0-alpha"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=TextControlBox.WinUI.JuliusKirsch&version=1.1.0-alpha&prerelease
                    
Install TextControlBox.WinUI.JuliusKirsch as a Cake Addin
#tool nuget:?package=TextControlBox.WinUI.JuliusKirsch&version=1.1.0-alpha&prerelease
                    
Install TextControlBox.WinUI.JuliusKirsch as a Cake Tool

‼️Update in Progress (16.01.2025)‼️

<div align="center"> <img src="images/Icon1.png" height="150px" width="auto"> <h1>TextControlBox-WinUI</h1> </div>

<div align="center"> <img src="https://img.shields.io/github/issues/FrozenAssassine/TextControlBox-WinUI.svg?style=flat"> <img src="https://img.shields.io/github/stars/FrozenAssassine/TextControlBox-WinUI.svg?style=flat"> <img src="https://img.shields.io/github/repo-size/FrozenAssassine/TextControlBox-WinUI?style=flat">

</div>

<h3 align="center">A textbox for WinUI3 with syntax highlighting, line numbering, and support for a large amount of text</h3>

🔎 Features:

  • Viewing files with a million lines or more without performance issues
  • Syntax highlighting
  • Outstanding performance because it only renders the lines that are needed to display
  • Line numbers
  • Line highlighter
  • Use JSON to create custom syntax highlighting
  • Highly customizable
  • Fast

❗ Problems:

  • Current text limit is 100 million characters
  • Currently, there is no text wrapping

🚩 Available languages:

  • Batch
  • Config file
  • C++
  • C#
  • CSV
  • CSS
  • GCode
  • Hex
  • Html
  • Java
  • Javascript
  • JSON
  • Markdown
  • LaTex
  • PHP
  • Python
  • QSharp
  • SQL
  • Toml
  • XML

Create custom syntax highlighting languages with JSON:

{
  "Highlights": [
    {
      "CodeStyle": { //optional delete when not used
        "Bold": true, 
        "Underlined": true, 
        "Italic": true
      },
      "Pattern": "REGEX PATTERN",
      "ColorDark": "#ffffff", //color in dark theme
      "ColorLight": "#000000" //color in light theme
    },
  ],
  "Name": "NAME",
  "Filter": "EXTENSION1|EXTENSION2", //.cpp|.c
  "Description": "DESCRIPTION",
  "Author": "AUTHOR"
}  

To bind it to the textbox you can use one of these ways:


TextControlBox textbox = new TextControlBox();

//Use a built in language -> see list a bit higher
textbox.CodeLanguage = TextControlBox.GetCodeLanguageFromId(CodeLanguageId.CSharp");

//Use a custom language:
var result = TextControlBox.GetCodeLanguageFromJson("JSON DATA");
if(result.Succeed)
     textbox.CodeLanguage = result.CodeLanguage; 

Create custom designs in C#:

textbox.Design = new TextControlBoxDesign(
    new SolidColorBrush(Color.FromArgb(255, 30, 30, 30)), //Background brush
    Color.FromArgb(255, 255, 255, 255), //Text color
    Color.FromArgb(100, 0, 100, 255), //Selection color
    Color.FromArgb(255, 255, 255, 255), //Cursor color
    Color.FromArgb(50, 100, 100, 100), //Linehighlighter color
    Color.FromArgb(255, 100, 100, 100), //Linenumber color
    Color.FromArgb(0, 0, 0, 0), //Linenumber background
    Color.FromArgb(100,255,150,0) //Search highlight color
    );

Contributors:

If you want to contribute for this project, feel free to open an <a href="https://github.com/FrozenAssassine/TextControlBox-WinUI/issues/new">issue</a> or a <a href="https://github.com/FrozenAssassine/TextControlBox-WinUI/pulls">pull request</a>.

<img src="images/image1.png">

Product Compatible and additional computed target framework versions.
.NET net8.0-windows10.0.19041 is compatible.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on TextControlBox.WinUI.JuliusKirsch:

Repository Stars
kyoyama-kazusa/Sudoku
A sudoku solver using brute forces and logical techniques.
Version Downloads Last updated
1.1.4 153 3/17/2025
1.1.3 125 3/14/2025
1.1.2 158 3/11/2025
1.1.1 166 3/3/2025
1.1.0-alpha.3 68 2/28/2025
1.1.0-alpha.2 82 2/22/2025
1.1.0-alpha 119 2/10/2025
1.0.0 306 8/1/2023

Migrated from UWP to WinUI with numerous bug fixes, property updates, and significant memory and performance improvements. Added .NET 8 support, SQL syntax highlighting, and various enhancements to syntax highlighting.