Kaxaml is a lightweight XAML editor that gives you a "split view" so you can see both your XAML and your rendered content (kind of like XamlPad but without the gigabyte of SDK). Kaxaml is a hobby and was created to be shared, so it's free!
Kaxaml is designed to be "notepad for XAML." It's supposed to be simple and lightweight and make it easy to just try something out. It also has some basic support for intellisense and some fun plugins (including one for snippets, one for cleaning up your XAML and for rendering your XAML to an image).
Tag Edit Auto Matching Feature added in this Fork |
The big movtivation for this fork was the fact that the orginal project has been quiet for so many years. I did not want to see if wither away as it is such a fantastic application - kudos to the devs who put all of that effort into it.
First thing I did was upgrade to .NET 9. While at it, I took the liberty of performing significant code cleanup and modernization. I also fixed several annoying little bugs and added features I have always wished for. No real roadmap to speak of, just fixing and adding things as they come up.
Note that this no longer supports Silverlight so if that is something you need, stick with the original.
I welcome any feedback.
- Fixed another temp folder exception when launched from start menu
- Addressed TODO to remove p-invoke to get starting folder path
- Addressed TODO to eliminate non-type-safe equals in xml parser
- Added
CTRL+F4
as an alternative toCTRL+W
for closing tabs - Changed close confirmation dialog from Yes/No to OK/Cancel
- Fixed UI exception when launching from Start Menu and creating a new document
- Added button in About screen to open
%LocalAppData%
folder - Updated YAML config to run unit tests
- Auto-matching of open/close tag names during XAML edits
- Skips self-closing tags
- Triggers only when exactly one unmatched tag
- Supports undo and redo
- Added UI checkbox to toggle auto-matching feature
- Removed nullable marker from
TextEditor
(was redundant) - Introduced
.editorconfig
for XAML formatting - Added
Kaxaml.Tests
project - Added “Star Trek” snippet
- Bound
CTRL+SPACE
to activate code completion window
- Added button in About screen to open log folder
- Added logging to
WpfDocumentView
- Refactored all
.cs
file namespaces to file-scoped - Removed unused project property files
- Enabled
AssemblyInfo
generation in.csproj
for files withgeneric.xaml
- Added prompt to confirm unsaved changes when closing the app
- Integrated
NLog
via dependency injection - Logs written to
%LocalAppData%\Kaxaml\kaxaml.log
- Addressed plugin load exception from
.csproj
script - Added basic logging to main window and color picker
- Enabled nullable reference types across the project
- Performed code cleanup and adopted modern C# features
- Configured project to treat all warnings as errors
- Fixed plugin namespace issues
- Fixed out-of-index error in find-replace when using “Select All”
- Updated About screen to reflect assembly version
- Upgraded to .NET 9 and resolved breaking changes
- Removed Silverlight plugin
- Removed installer project
- Removed unused NuGet packages
- Updated to latest NuGet packages
- Fixed miscellaneous exceptions and binding errors