{"id":21268762,"url":"https://github.com/warappa/xamlcss","last_synced_at":"2025-05-16T18:06:46.790Z","repository":{"id":8556568,"uuid":"58832539","full_name":"warappa/XamlCSS","owner":"warappa","description":"Style Xaml applications with CSS","archived":false,"fork":false,"pushed_at":"2022-07-10T22:18:45.000Z","size":10698,"stargazers_count":336,"open_issues_count":20,"forks_count":28,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-05-16T18:06:44.472Z","etag":null,"topics":["css","uwp","wpf","xamarin-forms","xaml"],"latest_commit_sha":null,"homepage":null,"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/warappa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-14T22:04:21.000Z","updated_at":"2025-02-26T07:02:47.000Z","dependencies_parsed_at":"2022-08-07T04:16:38.299Z","dependency_job_id":null,"html_url":"https://github.com/warappa/XamlCSS","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/warappa%2FXamlCSS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/warappa%2FXamlCSS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/warappa%2FXamlCSS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/warappa%2FXamlCSS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/warappa","download_url":"https://codeload.github.com/warappa/XamlCSS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254582905,"owners_count":22095518,"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":["css","uwp","wpf","xamarin-forms","xaml"],"created_at":"2024-11-21T08:06:19.438Z","updated_at":"2025-05-16T18:06:46.758Z","avatar_url":"https://github.com/warappa.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XamlCSS\nStyle Xaml-applications with CSS - get it for [WPF](https://www.nuget.org/packages/XamlCSS.WPF), [Xamarin.Forms](https://www.nuget.org/packages/XamlCSS.XamarinForms) or [UWP](https://www.nuget.org/packages/XamlCSS.UWP) and start [right here](https://github.com/warappa/XamlCSS/wiki/Getting-started)!\n\n## Why XamlCSS For XAML?\n### Concise\nStyling with (s)css gives a **more concise declaration of your styles**. XamlCSS even supports a **subset of SCSS** features like [selector nesting](https://github.com/warappa/XamlCSS/wiki/Nested-Css-Selectors), [css-variables](https://github.com/warappa/XamlCSS/wiki/Css-Variables) and [mixins](https://github.com/warappa/XamlCSS/wiki/Mixins). This enables you to make your declarations **even _more_ concise**.\n\n### Freely Combine Styles\nOther than vanilla Xaml-styles, css allows you to **freely combine styles** - _no_ `BasedOn` restriction. Even better, this is done for you behind [the curtains](https://github.com/warappa/XamlCSS/wiki/How-does-it-work%3F/#generating-styles)!  \nAnd if you really want to combine styles yourself use [@extend](https://github.com/warappa/XamlCSS/wiki/Extend).\n\n### Semantic Meaning\n**Semantic meaning** can be conveyed, i.e. is your ui-element `important`, a `warning`, a `header` or a `sub-header`? This is achieved by using [css-classes](https://github.com/warappa/XamlCSS/wiki/Css-Selectors-Quick-Reference#by-role-class).\n\n### Based On View-Hierarchy\nCss takes into account **where inside your view-hierarchy** your element gets added. No need to manually assigning a style.  \nIt also **detects that an element was added or removed**.  \nIn combination with semantic selectors you can style a button differently just because it is in a `warning` dialog. And if you want to create a `dark`, a `light` and a `custom` **theme**, just **switch the css-class-name** on your root view-element and all elements **update themselves automatically**.\n\n### Support For Xaml-Features\nYou can use [markup-extensions](https://github.com/warappa/XamlCSS/wiki/Markup-Extensions-in-Css) and [triggers](https://github.com/warappa/XamlCSS/wiki/Xaml-Triggers-in-Css) in your (s)css.\n\nIn css you **_cannot_ declare** an **instance of an object** as you can do in xaml. A `Storyboard` for example must be declared as usual in a `ResourceDictionary` but then can be referenced in css with a markup-extension.\n\n### Designer Support\nXamlCSS builds on top of the native Xaml-Style implementations, so **it works** with the **WPF and UWP designer**. For **Xamarin.Forms** there is **[LiveXAML](https://www.livexaml.com)**.\n\n# Supported platforms\n- **XamarinForms**  \nNuGet: [XamlCSS.XamarinForms](https://www.nuget.org/packages/XamlCSS.XamarinForms) [![NuGet](https://img.shields.io/nuget/v/XamlCSS.XamarinForms.svg)]()\n- **WPF**  \nNuGet: [XamlCSS.WPF](https://www.nuget.org/packages/XamlCSS.WPF) [![NuGet](https://img.shields.io/nuget/v/XamlCSS.WPF.svg)]()\n- **Universal Windows Platform**  \nNuGet: [XamlCSS.UWP](https://www.nuget.org/packages/XamlCSS.UWP) [![NuGet](https://img.shields.io/nuget/v/XamlCSS.UWP.svg)]()\n\n# Supported Features\n- **CSS selectors**\n- **Remove and reapply** styles\n- **Detect new elements** and apply matching styles\n- Support **Binding** * (except vanilla UWP)\n- Support **StaticResource** *\n- Support **DynamicResource** * (except vanilla UWP)\n- Set **simple values** like Foreground, FontSize, FontStyle,... by CSS\n- **Triggers**\n- **Multiple** StyleSheets\n- **Nested** selectors (like Sass)\n- **Css-variables**\n- **Import** of other css-files\n- **Mixins**\n\n## Not (yet) supported\n- Visual State Manager\n\n\nFor more information look at the provided test-apps in the solution to see how to initialize and use XamlCSS.\n\n*) **Breaking change** in binding syntax in 2.0.0: instead of `{Binding value}` you now write `#Binding value` or `\"{Binding value}\"`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwarappa%2Fxamlcss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwarappa%2Fxamlcss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwarappa%2Fxamlcss/lists"}