• Stars
    star
    145
  • Rank 252,949 (Top 6 %)
  • Language
    C#
  • License
    MIT License
  • Created over 8 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A set of UWP controls and utilities

UWP Projects

A set of custom UWP controls and utilities that I have built for my apps. I will continue to add to this repo from my personal collection of doo-dads and bobbles and as a I build new ones πŸš€

Branch Build Status
master Components Build

Components

Component (w/ jumplink) Namespace Description
AdaptiveGridView UwpHelpers.Controls.ListControls Maintains aspect ratio of items as column width changes
BusyIndicators UwpHelpers.Controls.BusyIndicators Custom busy indicators
BlurElementAsync UwpHelpers.Examples.Helpers Converts any UIElement into a blurred bitmap
IncrementalLoadingCollection UwpHelpers.Controls.Common Use this for lazy-loading scenarios, demo in Examples
NetworkImage UwpHelpers.Controls.ImageControls An Image control that shows download progress
DownloadStreamWithProgressAsync UwpHelpers.Controls.Extensions HttpClient Extension methods that reports download progress
ReleaseNotesDialog UwpHelpers.Controls.Dialogs Shows a list of Features and Fixes using the familiar ContentDialog approach

AdaptiveGridView

alt tag

With grouping

alt tag

Properties
  • MinItemWidth - double: Sets minimum width of GridView items.
  • MinItemHeight - double: Sets the minimum height of GridView items.
Example
<listControls:AdaptiveGridView ItemsSource="{Binding ListItems}"
       MinItemHeight="105"
       MinItemWidth="315">

BusyIndicators

  • BandBusyIndicator
  • DownloadUploadIndicator

alt tag

Properties
  • IsActive - boolean: Shows or hides the indicator.
  • Direction - AnimationDirection: The direction of the animation.
  • DisplayMessage - string: Message shown when active.
  • DisplayMessageSize - double: Message font size.
<busyIndicators:BandBusyIndicator IsActive="{Binding IsBusy}"
      DisplayMessage="busy..."
      Direction="Uploading"  />

BlurElementAsync

alt tag

Example
//You can pass any UIElement to the method and it will render all of the children into a bitmap with a Blur applied
var blurredElement = await ContentToBlur.BlurElementAsync();

//example: you can then set Background brush of a Grid
ContentRootGrid.Background = new ImageBrush
{
  ImageSource = blurredBitmapImage,
  Stretch = Stretch.UniformToFill
};

IncrementalLoadingCollection

alt tag

Example
<ListView ItemsSource="{Binding InfiniteItems}" />

ViewModel or Code-Behind

InfiniteItems = new IncrementalLoadingCollection<T>((cancellationToken, count) => Task.Run(GetMoreData, cancellationToken));
    
//and GetMoreData is
private async Task<ObservableCollection<T>> GetMoreData()
{
   return more items of type ObservableCollection<T>
}

NetworkImage

alt tag

Properties
  • ImageUrl - string: String URL of the photo.
  • IsActive - bool: The control manages this automatically, but you can manually enable/disable if needed .
  • DownloadPercentageVisibility - Visibility: If you want to hide the progress percentage.
  • ProgressRingVisibility - Visibility: If you want to hide the ProgressRing animation.
  • ImageStretch -Stretch: Stretch property passed to the underlying Image control.
Example
<imageControls:NetworkImage ImageUrl="http://bigimages.com/MyHugeImage.jpg" />

DownloadStreamWithProgressAsync (HttpClient Extension)

alt tag

Properties
  • Url - string: Url of the thing you want to download.
  • Reporter - Progress<DownloadProgressArgs> - reports the progress via event args.

Note: There are a couple more methods in the helper class (i.e. DownloadStringwithProgressAsync)

Example
void SetupReporter()
{
    var reporter = new Progress<DownloadProgressArgs>();
    reporter.ProgressChanged += Reporter_ProgressChanged;

    var imageStream = await new HttpClient(myFavoriteHandler).DownloadStreamWithProgressAsync(bigImageUrl, reporter)
}

private void Reporter_ProgressChanged(object sender, DownloadProgressArgs e)
{
    SomeProgressBar.Value = e.PercentComplete;
}

ReleaseNotesDialog

alt tag

Properties
  • AppName - string: Sets the dialog title (default value is "Release Notes").
  • Features - ObservableCollection<string>: List of new features.
  • Fixes - ObservableCollection<string>: List of fixes.
  • UseFullVersionNumber - bool: Determines whether to show the manifest build number (e.g. 1.0.0).
Example
var rnd = new ReleaseNotesDialog();
    
rnd.AppName = "My App Name";
rnd.Message = "Thank you for checking out ReleaseNotesDialog! Here's a list of what's new and what's fixed:";
    
rnd.Features = new ObservableCollection<string>
{ 
    "Amazing feature!", 
    "Added theming", 
    "Backup and restore added!" 
};
    
rnd.Fixes = new ObservableCollection<string>
{
    "Fixed crash when opening",
    "Added text wrapping to fix text being cut off"
};
    
await rnd.ShowAsync();

Lancelot Software Β© 2010-2021

More Repositories

1

MvpApi

An application for Microsoft MVPs to easily browse and upload contributions
C#
36
star
2

MediaFileManager

An application that simplifies tedious and numerous media file naming operations (i.e. renaming, episode numbering, etc).
C#
31
star
3

DevOpsExamples

A repo to show you how to use a private NuGet feed to restore packages in Azure DevOps, GitHub Actions, GitLab CI and AppCenter.
C#
30
star
4

RemixDownloader

An application that lets you quickly download 3D models from Remix 3D. This functionality is not available via the website.
C#
30
star
5

CommonHelpers

A set of very frequently used classes, interfaces, and behaviors used in every day projects.
C#
27
star
6

CustomMauiExamples

This is an evolution of my frequently referenced 'CustomXamarinDemos' repository.
C#
15
star
7

Action-AzureBlobUpload

A GitHub action to upload files to Azure Blob storage, compatible with all Actions runner operating systems.
JavaScript
15
star
8

Action-MsixBundler

A GitHub Action that accepts multiple MSIX files and bundles them together into a single msixbundle file.
10
star
9

CustomXamarinDemos

A set of specialized custom example applications for edge cases.
C#
9
star
10

VideoCaptureWithEditing

UWP Demo app that shows how to record and edit video.
C#
8
star
11

Lancelot.LatteLocator

The official repository for Latte Locator, aka Starbucks Locator.
C#
7
star
12

TelerikUwpProjects

A set of custom controls and utilities using Telerik UI for Universal Windows Platform
C#
7
star
13

UwpSdkThemes

A collection of the Theme ResourceDictionaries for every major Windows 10 SDK release.
7
star
14

DevReachCompanion

A repo containing the DevReachCompanion app, REST API code and DevOps YAML used for 'One Dev Powerhouse' talk at DevReach 2019.
C#
6
star
15

BrushesAndLights

A XamlLights and XamlCompositionBrushBase demo
C#
4
star
16

ComicVine

A Xamarin.Forms application that showcases UI for Xamarin using the ComicVine API.
C#
4
star
17

PartnerCenterBroker

A package that lets you programmatically interact with the Microsoft Partner Center APIs to manage your application submissions.
TypeScript
4
star
18

Flusher

A Windows IoT on Raspberry Pi, SignalR and XamarinForms project.
C#
3
star
19

dotnet-password-purgatory

A reimagining of Troy Hunt's Password Purgatory in .NET
C#
3
star
20

UnoPlatformDevOps

A project to demonstrate using CI/CD for Uno Platform
C#
3
star
21

DocProcessingFunctions

A set of Azure C# Functions that leverage Telerik Document Processing Libraries in a fast and efficient manner.
C#
3
star
22

AnimatedBusyIndicator

A UWP control leveraging WinUI and Composition
C#
3
star
23

Lancelot.AwesomeBandBackgrounds

The ultimate Microsoft Band companion app. Access millions of amazing, high definition wallpaper photos and dozens of professional palette-based themes.
C#
3
star
24

LanceMcCarthy

2
star
25

PDFCombiner

A quick and easy app that will combine multiple PDF files into a single PDF document.
C#
2
star
26

TseExamples

The core repository for TSE example apps across all DevCraft products
JavaScript
2
star
27

akeyless-extension-azdo

An Azure DevOps extension to safely retrieve and use secrets from your AKeyless vault.
JavaScript
2
star
28

FacebookDataExplorer

An app that lets you easily explore the data downloaded from Facebook
C#
2
star
29

Obj2GlbConverter

Create a glb for Windows Mixed Reality 3D Icons using an implementation of AnalyticalGraphicsInc's obj2gltf library.
JavaScript
2
star
30

SmartHome

A collection of UWP Windows IoT apps
C#
2
star
31

Giphy

A cross platform Giphy app
C#
2
star
32

MauiSuggestions

This is a repo to hold suggestions for MAUI architecural and naming considerations as it is being developed.
2
star
33

LunchScheduler

Lunch Scheduler demo app reboot
C#
2
star
34

SuperbowlSquares

An application that will generate random numbers for rows and columns to create a Superbowl Squares grid
C#
1
star
35

PoliceLogScanner

A cross platform .NET 6 Console app that will scan police log files for specific text.
C#
1
star
36

DialInVideoEffects

An example app to show how to use the surface Dial to apply real time video effects
C#
1
star
37

PracticalAssignment

A repository to submit a practical assignment.
1
star
38

KittensAndPets

A UWP app that searches for kittens and pets, then tweets about them.
C#
1
star
39

WinUIBindingRepo

Small repo
C#
1
star
40

WoA_Tests

Description to be updated
C#
1
star
41

Lancelot.VSauceSupreme

A Windows app Studio experiment that aggregated all the VSauce channels into one app.
C#
1
star
42

MixedRealityFun

A demo to highlight different features of Windows Mixed Relality and Unity3D
C#
1
star
43

GoldenClouds

Guest Guide
1
star
44

EnergyMonitorDemo

A demo project that shows how to use MQTT with a .NET web, mobile and desktop applications
C#
1
star
45

sample-music-app

A very simple sample music app to demonstrate to WindowsDev a problem I'm having.
C#
1
star
46

XkcdViewer

A demo for using Telerik Xamarin Forms
C#
1
star
47

akeyless-web-target

A web API project to mock a dynamic secrets web target. This is purely mock secrets to work as a test backend for any dynamic secret implementation.
C#
1
star
48

PatientChart

Demo app for using InkCanvas with handwriting recognition
C#
1
star
49

dvlup-blog

HTML
1
star
50

akeyless-aad-secret

This GitHub Action uses Akeyless REST API to generate and fetch an Azure Active Directory dynamic secret.
1
star
51

TelerikOnWindowsIoT

This project demonstrates how easy it is to add an amazing UI to your Windows 10 IoT project using Telerik's UI for Windows Universal
C#
1
star
52

Lancelot.SecurityStrobe

This was my very first app, a strobe with various patterns for emergency assistance or location in a crowd.
C#
1
star
53

BostonCodeCamp36Demo

A project containing a .NET MAUI application and workflows that automatically build all the platform the projects for you.
C#
1
star