{"id":16246281,"url":"https://github.com/batzen/xamltools","last_synced_at":"2025-03-16T12:32:54.664Z","repository":{"id":37891323,"uuid":"442734004","full_name":"batzen/XAMLTools","owner":"batzen","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-13T07:58:06.000Z","size":276,"stargazers_count":39,"open_issues_count":7,"forks_count":4,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-03-16T02:26:30.585Z","etag":null,"topics":["cli","hacktoberfest","msbuild","wpf"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/batzen.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["batzen"]}},"created_at":"2021-12-29T10:13:31.000Z","updated_at":"2025-03-13T13:07:33.000Z","dependencies_parsed_at":"2024-02-21T20:48:28.346Z","dependency_job_id":null,"html_url":"https://github.com/batzen/XAMLTools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batzen%2FXAMLTools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batzen%2FXAMLTools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batzen%2FXAMLTools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batzen%2FXAMLTools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/batzen","download_url":"https://codeload.github.com/batzen/XAMLTools/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243869327,"owners_count":20360995,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","hacktoberfest","msbuild","wpf"],"created_at":"2024-10-10T14:30:11.606Z","updated_at":"2025-03-16T12:32:54.361Z","avatar_url":"https://github.com/batzen.png","language":"C#","funding_links":["https://github.com/sponsors/batzen"],"categories":[],"sub_categories":[],"readme":"# XAMLTools\n\n[![Build status](https://img.shields.io/appveyor/ci/batzen/XAMLTools.svg?style=flat-square)](https://ci.appveyor.com/project/batzen/XAMLTools)\n[![Release](https://img.shields.io/github/release/batzen/XAMLTools.svg?style=flat-square)](https://github.com/batzen/XAMLTools/releases/latest)\n[![Issues](https://img.shields.io/github/issues/batzen/XAMLTools.svg?style=flat-square)](https://github.com/batzen/XAMLTools/issues)\n[![Downloads](https://img.shields.io/nuget/dt/XAMLTools.MSBuild.svg?style=flat-square)](http://www.nuget.org/packages/XAMLTools.MSBuild/)\n[![Nuget](https://img.shields.io/nuget/vpre/XAMLTools.MSBuild.svg?style=flat-square)](http://nuget.org/packages/XAMLTools.MSBuild)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/batzen/XAMLTools/blob/master/License.txt)\n\nVarious tools for easing the development of XAML related applications.\n\nAs i only use WPF myself everything is focused on WPF, but things should work for other XAML dialects (at least in theory).\n\nYou can either use the commandline tool `XAMLTools` or the MSBuild version `XAMLTools.MSBuild` to make use of the provided functionalities.\n\nCI builds can be consumed from [appveyor](https://ci.appveyor.com/nuget/xamltools).\n\n## XAMLCombine\n\nCombines multiple XAML files to one large file.  \nThis is useful when you want to provide one `Generic.xaml` instead of multiple small XAML files.  \nUsing one large XAML file not only makes it easier to consume, but can also drastically improving loading performance.\n\n### Using the MSBuild-Task\n\n```\n\u003cXAMLCombineItems Include=\"Themes/Controls/*.xaml\"\u003e\n  \u003cTargetFile\u003eThemes/Generic.xaml\u003c/TargetFile\u003e\n\u003c/XAMLCombineItems\u003e\n```\n\nThe MSBuild-Task includes the items used for combining as pages during debug builds and removes them from pages during release builds.\nThis is done to reduce the binary size for release builds and still enable intellisense in debug builds for those XAML files.\n\n**Remarks when using Rider**  \nTo get intellisense in debug builds inside the XAML files and to prevent duplicate display of those files you have to define:\n\n```\n\u003cPropertyGroup Condition=\"'$(IsBuildingInsideRider)' == 'True'\"\u003e\n  \u003cDefaultItemExcludes\u003e$(DefaultItemExcludes);Themes\\Controls\\*.xaml\u003c/DefaultItemExcludes\u003e\n\u003c/PropertyGroup\u003e\n\n\u003cItemGroup Condition=\"'$(IsBuildingInsideRider)' == 'True'\"\u003e\n  \u003cPage Include=\"Themes\\Controls\\*.xaml\" /\u003e\n\u003c/ItemGroup\u003e\n```\n\n### Using the executable\n\n`XAMLTools` accepts the following commandline parameters for the `combine` verb:\n\n- `-s \"Path_To_Your_SourceFile\"` =\u003e A file containing a new line separated list of files to combine (lines starting with # are skipped)\n- `-t \"Path_To_Your_Target_File.xaml\"`\n\n## XAMLColorSchemeGenerator\n\nGenerates color scheme XAML files while replacing certain parts of a template file.\n\nFor an example on how this tool works see the [generator input](src/XAMLTools.Core/XAMLColorSchemeGenerator/GeneratorParameters.json) and [template](src/XAMLTools.Core/XAMLColorSchemeGenerator/ColorScheme.Template.xaml) files.\n\n### Using the MSBuild-Task\n\n```\n\u003cXAMLColorSchemeGeneratorItems Include=\"Themes\\ColorScheme.Template.xaml\"\u003e\n  \u003cParametersFile\u003eThemes\\GeneratorParameters.json\u003c/ParametersFile\u003e\n  \u003cOutputPath\u003eThemes\\ColorSchemes\u003c/OutputPath\u003e\n\u003c/XAMLColorSchemeGeneratorItems\u003e\n```\n\n### Using the executable\n\n`XAMLTools` accepts the following commandline parameters for the `colorscheme` verb:\n\n- `-p \"Path_To_Your_GeneratorParameters.json\"`\n- `-t \"Path_To_Your_ColorScheme.Template.xaml\"`\n- `-o \"Path_To_Your_Output_Folder\"`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbatzen%2Fxamltools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbatzen%2Fxamltools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbatzen%2Fxamltools/lists"}