{"id":19707858,"url":"https://github.com/haavamoa/xaml-code-experiences","last_synced_at":"2025-04-29T17:30:36.667Z","repository":{"id":68183932,"uuid":"184799057","full_name":"haavamoa/xaml-code-experiences","owner":"haavamoa","description":"A collection of the experiences I have collected during days of Xamarin and Wpf, while following the MVVM design pattern.","archived":false,"fork":false,"pushed_at":"2021-12-24T15:34:50.000Z","size":347,"stargazers_count":119,"open_issues_count":10,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-05T18:21:56.496Z","etag":null,"topics":["architecture","clean-code","dependency-injection","dotnet","learning","mvvm","mvvm-architecture","refactoring","wpf","xamarin","xamarin-android","xamarin-forms","xamarin-ios","xaml"],"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/haavamoa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","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":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.buymeacoffee.com/haavamoa"]}},"created_at":"2019-05-03T17:59:36.000Z","updated_at":"2025-02-25T01:54:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"6aad24c2-d91f-4548-8101-517342deb168","html_url":"https://github.com/haavamoa/xaml-code-experiences","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/haavamoa%2Fxaml-code-experiences","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haavamoa%2Fxaml-code-experiences/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haavamoa%2Fxaml-code-experiences/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haavamoa%2Fxaml-code-experiences/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/haavamoa","download_url":"https://codeload.github.com/haavamoa/xaml-code-experiences/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251549107,"owners_count":21607351,"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":["architecture","clean-code","dependency-injection","dotnet","learning","mvvm","mvvm-architecture","refactoring","wpf","xamarin","xamarin-android","xamarin-forms","xamarin-ios","xaml"],"created_at":"2024-11-11T21:40:09.060Z","updated_at":"2025-04-29T17:30:36.639Z","avatar_url":"https://github.com/haavamoa.png","language":"C#","funding_links":["https://www.buymeacoffee.com/haavamoa"],"categories":[],"sub_categories":[],"readme":"# xaml-code-experiences\nA collection of experiences during my days of Xamarin and WPF.\n\nThe idea is that I want to use this repository as a lookup when facing different scenarios while developing a Xaml based application. I would also like to share it with the world! :earth_americas:\n\n\u003e Note: This is mainly written for Wpf, but the principles can be used while developing with Xamarin.Forms as well.\n\n## Categories\n\n### Architecture :office:\n* Structuring\n    * [ViewModel structure](xaml.experiences/architecture/structuring/viewmodelbased)\n    * [Feature structure](xaml.experiences/architecture/structuring/featurebased)\n* Design Patterns\n    * [Dependency Injection](xaml.experiences/architecture/designpatterns/dependencyinjection)\n* [Communication](xaml.experiences/architecture/communication)\n  * [Skeleton project for each example](xaml.experiences/architecture/communication/applicationskeleton)\n  * Examples\n    * [Event based](xaml.experiences/architecture/communication/eventbased)\n    * [Interface based](xaml.experiences/architecture/communication/interfacebased)\n    * [Callback based](xaml.experiences/architecture/communication/callbackbased)\n\n### Resources :hammer:\n* Converters\n    * [Using `MarkupExtension`](xaml.experiences/resources/converters/markupextension)\n    * [LogicalExpressionConverter](xaml.experiences/resources/converters/logicalexpressionconverter)\n    * [NullToVisibilityConverter](xaml.experiences/resources/converters/nulltovisconverter)\n    * [StringToSolidBrushConverter](xaml.experiences/resources/converters/stringsolidbrushconverter)\n* Commands\n    * [DelegateCommand](xaml.experiences/resources/commands/delegatecommand)\n    * [AsyncCommand](xaml.experiences/resources/commands/asynccommand)\n* Helpers\n    * [Observing objects](xaml.experiences/resources/helpers/observingobjects)\n    * [Animations](xaml.experiences/resources/helpers/animations)\n\n### Refactoring :wrench:\n\u003e Coming...\n\n### Tips and tricks :star2:\n* [Async loading data with non-blocking UI](xaml.experiences/tipsandtricks/nonblockingui)\n\n### Guides :page_with_curl:\n\u003e Coming...\n\n### Other source :couple:\n* [xaml-coding-guidelines](https://github.com/cmaneu/xaml-coding-guidelines) \n* [WPF Productivity Playbook](https://www.pluralsight.com/courses/wpf-productivity-playbook) \n* [DataBinding Memory Leaks](https://onewindowsdev.com/2016/09/22/a-memory-leak-may-occur-when-you-use-data-binding-in-windows-presentation-foundation/) \n* [XamlBehaviorsWpf](https://github.com/microsoft/XamlBehaviorsWpf) \n\n## Contributions\n\nContributions through Pull Requests and Issues are always welcome! ❤️ Feel free to report what kind of topics you would like me to add as well. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaavamoa%2Fxaml-code-experiences","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaavamoa%2Fxaml-code-experiences","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaavamoa%2Fxaml-code-experiences/lists"}