https://github.com/roubachof/Sharpnado.TaskLoaderView If you don't know yet about the TaskLoaderView, I can only say this: "This is a component that will allow you to save a huge amount of time by making your project safer." -Elbert Einstein- Remember all those pesky IsBusy, HasErrors, IsRefreshing, showing alerts
https://github.com/roubachof/Sharpnado.TaskLoaderView A short blog here to showcase a undocumented feature of the TaskLoaderView: the TaskLoaderCommand. You probably read many blogs about how you should implement a AsyncCommand instead of a regular Command for your Task based code. Of course, like all async mvvm patterns, the
https://github.com/roubachof/Sharpnado.TaskLoaderView Since version 2.0, the TaskLoaderView supports custom views for your Tasks states. So you can define, for example, really cool Lottie views with great animations.
Lib Version Sharpnado.Presentation.Forms Sharpnado.Presentation.HorizontalListView Github: https://github.com/roubachof/Sharpnado.Presentation.Forms Release notes Improvements * added material dark theme to MaterialFrame: elevation is converted to dark background according to: Material dark theme specs * 85 added IsDraggable property to DraggableViewCell to prevent the dragging of chosen items
This post is the natural follow-up to my Free Yourself From IsBusy=true from the XamExpertDay in Cologne: https://twitter.com/Piskariov/status/1188825195831857153 The TaskLoaderView component is freeing itself from the Sharpnado.Presentation.Forms repo and is receiving a lot of new features! * User custom views * Skeleton loading * ErrorNotificationView
So after the HorizontalListView, I'm now introducing you to the TaskLoaderView, which will handle all your UI state in sync with your async loading code. This component will remove the async initialization pain from your view models (try catch / async void / IsBusy / IsInitialized / base view models / ...), and the IsVisible properties