All Projects → neolithos → NeoMarkdigXaml

neolithos / NeoMarkdigXaml

Licence: Apache-2.0 License
Markdig Xaml/Wpf Renderer

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to NeoMarkdigXaml

Displaying-XAML
This library is for display the XAML code of theme library for WPF (e.g. MaterialDesignInXamlToolkit)
Stars: ✭ 38 (+111.11%)
Mutual labels:  xaml, wpf
Taskban
A personal productivity tool developed with C# and XAML.
Stars: ✭ 56 (+211.11%)
Mutual labels:  xaml, wpf
XamlIslands
Repository with several XAML Islands v1 samples (Win32, WPF, and WinForms) to demonstrate how to use it.
Stars: ✭ 47 (+161.11%)
Mutual labels:  xaml, wpf
AdminRunasMenu
A WPF menu driven by powershell to perform administrator functions
Stars: ✭ 26 (+44.44%)
Mutual labels:  xaml, wpf
WindowsCommunityToolkit
The Windows Community Toolkit is a collection of helpers, extensions, and custom controls. It simplifies and demonstrates common developer tasks building UWP and .NET apps for Windows 10 and Windows 11. The toolkit is part of the .NET Foundation.
Stars: ✭ 4,934 (+27311.11%)
Mutual labels:  xaml, wpf
ReactiveValidation
A small validation library for WPF and Avalonia which uses a fluent interface and allows display messages near controls in GUI with MVVM
Stars: ✭ 50 (+177.78%)
Mutual labels:  xaml, wpf
markdig.wpf
A WPF library for xoofx/markdig https://github.com/xoofx/markdig
Stars: ✭ 133 (+638.89%)
Mutual labels:  wpf, commonmark
Toast
🍞 The rounded and animated Android Toast for .NET WPF/XAML
Stars: ✭ 25 (+38.89%)
Mutual labels:  xaml, wpf
mvvmgen
MvvmGen is a lightweight MVVM library for XAML applications. It generates your ViewModels on-the-fly for you via a Roslyn-based C# Source Generator.
Stars: ✭ 179 (+894.44%)
Mutual labels:  xaml, wpf
WpfExtensions
Some syntactic sugar for Wpf development.
Stars: ✭ 128 (+611.11%)
Mutual labels:  xaml, wpf
IconPacks.Browser
The Browser for all available Icon packages from MahApps.Metro.IconPacks
Stars: ✭ 74 (+311.11%)
Mutual labels:  xaml, wpf
wpf-demos
This repository contains the samples for Syncfusion WPF UI Controls and File Format libraries and the guide to use them.
Stars: ✭ 128 (+611.11%)
Mutual labels:  xaml, wpf
SpicyTaco.AutoGrid
A magical replacement for the built in WPF Grid and StackPanel
Stars: ✭ 67 (+272.22%)
Mutual labels:  xaml, wpf
SharpDiskSweeper
Reveal outstanding files or folders that are eating up your disk space
Stars: ✭ 21 (+16.67%)
Mutual labels:  xaml, wpf
FileRenamerDiff
A File Renamer App featuring a difference display before and after the change.
Stars: ✭ 32 (+77.78%)
Mutual labels:  xaml, wpf
SimpleDialogs
💬 A simple framework to help displaying dialogs on a WPF app
Stars: ✭ 24 (+33.33%)
Mutual labels:  xaml, wpf
Wpftoolkit
All the controls missing in WPF. Over 1 million downloads.
Stars: ✭ 2,970 (+16400%)
Mutual labels:  xaml, wpf
MahApps.Metro.netcoreapp30
.NET Core 3.1 MahApps.Metro sample
Stars: ✭ 15 (-16.67%)
Mutual labels:  xaml, wpf
FriendEditor
A WPF sample app to demonstrate how to use MVVM design pattern and MVVMLight toolkit
Stars: ✭ 38 (+111.11%)
Mutual labels:  xaml, wpf
File-Explorer
A C# WPF application, representing a conventional Windows file system explorer. Allows the traversal of inaccessible file systems.
Stars: ✭ 30 (+66.67%)
Mutual labels:  xaml, wpf

Neo.Markdig.Xaml

Is a xaml/wpf extension for lunet-io/markdig

With this library it is possible to create FlowDocument's

var content = File.ReadAllText(@"..\..\..\..\Readme.md");
var doc = MarkdownXaml.ToFlowDocument(content,
	new MarkdownPipelineBuilder()
	.UseXamlSupportedExtensions()
	.Build()
);
flowDocumentViewer.Document = doc;

or Xaml-Source files.

var content = File.ReadAllText(@"..\..\..\..\Readme.md");
var xaml = MarkdownXaml.ToXaml(content,
	new MarkdownPipelineBuilder()
	.UseXamlSupportedExtensions()
	.Build()
);

Features

Supports standard features from Markdig.

Additionally, the following extensions are supported:

Styles

It is possible to replace the default resource set.

Inherit from XamlMarkdownWriter and override the method GetDefaultStyle.

Difference to markdig.wpf

markdig.wpf implements two renderers, one for xaml-output and one for wpf-objects.

This implementation has only one renderer, that has a xaml-token-stream as output. This stream can written with framework implemented XamlXmlWriter or the XamlObjectWriter.

Numbers:

Markdig.Wpf-toxaml  : 109ms
Markdig.Xaml-toxaml : 850ms
Markdig.Wpf-towpf   : 12.579ms
Markdig.Xaml-towpf  : 6.882ms

If you want to create plain xaml text output, my library is a slower. The reason is, that my implementation validates the output against the wpf-object-schema. That is one expensive step more, but it ensures a valid wpf-xaml.

The object creation should be always faster in Neo.Markdig.Xaml than the Markdig.Wpf approach, because Neo.Markdig.Xaml uses the internal wpf-object creation with all is caching and replay mechanism.

Needs to prove: Neo.Markdig.Xaml should consume less memory on large documents in both cases.

Links

What is missing

Testing.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].