All Projects → Q42 → Q42.winrt

Q42 / Q42.winrt

Licence: mit
Useful library for data driven Windows Phone 8 and Windows 8 C# / XAML WinRT projects

Projects that are alternatives of or similar to Q42.winrt

Uwp App Launcher Mobile
[Open Source] It's like the iOS and Android Home Screens but for Windows 10 (Phones).
Stars: ✭ 47 (-57.66%)
Mutual labels:  windows10, windows-phone, uwp, xaml
UICompositionAnimations
A powerful and easy to use library to work with Composition and XAML animations and Win2D effects
Stars: ✭ 87 (-21.62%)
Mutual labels:  xaml, uwp, windows10
Ambie
A simple, elegant white noise app for Xbox and Windows
Stars: ✭ 187 (+68.47%)
Mutual labels:  windows10, uwp, xaml
Nightingale Rest Api Client
A modern, resource-efficient REST API client for Windows. (Issues-only repo)
Stars: ✭ 290 (+161.26%)
Mutual labels:  windows10, uwp, xaml
Gank.uwp
http://gank.io 第三方客户端UWP版
Stars: ✭ 41 (-63.06%)
Mutual labels:  uwp, xaml
Uwp Fulltrust
Stars: ✭ 37 (-66.67%)
Mutual labels:  windows10, uwp
Dawnplayer
A FLV playback library for Windows 10 UWP.
Stars: ✭ 46 (-58.56%)
Mutual labels:  windows-phone, uwp
Ui For Uwp
This repo contains the source code for Telerik UI for Universal Windows Platform (UWP), which includes 20+ UI controls for developers building UWP applications.
Stars: ✭ 1,077 (+870.27%)
Mutual labels:  uwp, xaml
Reactiveproperty
ReactiveProperty provides MVVM and asynchronous support features under Reactive Extensions. Target framework is .NET Standard 2.0.
Stars: ✭ 603 (+443.24%)
Mutual labels:  uwp, xaml
Imbmw
BMW iBus .NET MF SDK and hardware
Stars: ✭ 50 (-54.95%)
Mutual labels:  windows-phone, uwp
Fluent Screen Recorder
A simple screen recorder built with UWP and featuring Fluent Design
Stars: ✭ 103 (-7.21%)
Mutual labels:  windows10, uwp
Adaptivecards
A new way for developers to exchange card content in a common and consistent way.
Stars: ✭ 950 (+755.86%)
Mutual labels:  uwp, xaml
Xaml Controls Gallery
This app demonstrates the controls available in WinUI and the Fluent Design System.
Stars: ✭ 882 (+694.59%)
Mutual labels:  uwp, xaml
Metrica Sample Dotnet
Yandex AppMetrica SDK Sample for Windows
Stars: ✭ 11 (-90.09%)
Mutual labels:  windows-phone, uwp
Mahapps.metro.iconpacks
Awesome icon packs for WPF and UWP in one library
Stars: ✭ 1,157 (+942.34%)
Mutual labels:  uwp, xaml
Uwp Styles Library
Just a collection of some cool styles that you can just add on to your next UWP project!
Stars: ✭ 52 (-53.15%)
Mutual labels:  uwp, xaml
Inthehand.forms
Extras for Xamarin Forms including MediaElement
Stars: ✭ 68 (-38.74%)
Mutual labels:  uwp, xaml
Xamarin Forms Gtk Movies Sample
The Movie DB Xamarin.Forms Sample
Stars: ✭ 83 (-25.23%)
Mutual labels:  uwp, xaml
Svgforxaml
Draw SVG image with Win2D
Stars: ✭ 84 (-24.32%)
Mutual labels:  uwp, xaml
Uno
Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
Stars: ✭ 6,029 (+5331.53%)
Mutual labels:  uwp, xaml

Q42.WinRT

Open source library for Universal Apps, Windows Phone and Windows 8 C#/XAML applications. This library was originally developed for Windows 8 and is fully compatible with Universal Apps (Windows Phone and Windows 8.1). There's also a version for Windows Phone 8. The library is focused on web connected and data driven applications. It includes helpers to easily cache data from API calls and cache web images to the local storage.

This library helps to maximize code reuse between Windows 8 and Windows Phone 8

Please checkout the included sample application for Universal Apps, Windows 8 and Windows Phone.

Or download directly from NuGet:

Looking for the old version compatible with Windows 8.0? Last 8.0 commit / NuGet package 1.0.14.42

What's included?

With this library comes a fully functional sample application that shows off most of the functionality. There's also a unit test project included.

Data Universal apps (W8.1 and WP81) Windows Phone 8
DataLoader x x
DataCache x x
WebDataCache x x
StorageHelper x x
SettingsHelper x x
ImageExtensions.CacheUri x x
Converters Universal apps (W8.1 and WP81) Windows Phone 8
VisibilityConverter x x
InverseVisibilityConverter x x
ByteToStringConverter x x
StringFormatConverter x
TextToLowerConverter x
Helpers Universal apps (W8.1 and WP81) Windows Phone 8
Util.GetAppVersion x
Util.GetOsVersion x
Util.GetMachineName x
Controls Universal apps (W8.1 and WP81) Windows Phone 8
WrapPanel x
Background Parallax x
UserControl Flyout x

Data

  • DataLoader - Input a task, enables easy binding to Loading / Finished / Error properties (show progress bar as long as task is running)
  • DataCache - Input a Cache Key and API call. Will run the task to get the response (for example a web call with json result) and write it to the cache. On next call, will return response directly from cache. Can be used in combination with DataLoader.
  • DataLoader.LoadCacheThenRefreshAsync - Input two methods which get data from cache and web. Callback will fire twice. You can bind to the dataloader to show a progress bar.
  • WebDataCache - Input an URI. Will get the data from the web and write raw bytes to local storage. On next call, it will return the cached data from the local storage.
  • StorageHelper - Save and retreive objects to the local storage. Json or XML serialization is used.
  • SettingsHelper - Save and retreive settings (wrapper around the different settings api's on Windows 8 or Windows Phone)
  • ImageExtensions.CacheUri - Alternative to Source property for images. Will get image from web and cache it. On a next run, will return cached image.

Converters

  • VisibilityConverter - Convert anything to visibility, works with bools, ints, strings, objects etc
  • InverseVisibilityConverter - Inverse of the VisibilityConverter
  • ByteToStringConverter - Converts bytes to a nice string, like 5.14 MB
  • StringFormatConverter - String format helper
  • TextToLowerConverter - Converts all text to lower text

Helpers

  • Util.GetAppVersion - Gets the application version as formatted string (1.0.0.0)
  • Util.GetOsVersion - Gets the version of the OS (for now: Windows NT 6.2, can change in the future)
  • Util.GetMachineName - Returns the machine name

Controls

  • WrapPanel - WrapPanel ported from Silverlight. Allows variable sized controls and wraps to a new line when needed.
  • Background Parallax - Creates a background parallax effect like on the Windows 8 start screen
  • UserControl Flyout - Flyout that hosts a UserControl with custom data. Can be used to create a Settings Flyout and have full control over the layout

How To Install?

Download the source including the sample code from GitHub or install from NuGet:

How To Use?

Check out the included sample app and unit tests for Windows 8 and Windows Phone.

DataLoader introduction

Let's say you have a long running async operation which gets some data from the web.

var result = await LoadWebData();

You want to show a nice progress bar when you're busy loading the data. Use the DataLoader for that, it wraps around your existing code. Place this code in your ViewModel:

//public property you can bind to
public DataLoader DL { get; set; }

//Place this in the constructor of your ViewModel:
DL = new DataLoader();

//Somewhere where you want to start loading data
var result = await DL.LoadAsync(() => LoadWebData());

You can now bind your ProgressBar to the DataLoader's IsBusy property in your XAML:

<ProgressBar IsIndeterminate="{Binding DL.IsBusy}"></ProgressBar>

For more advanced scenarios, see the included sample apps and unit tests.

DataCache introduction

Let's say you want to cache the result when you grab some data from an external source

List<MyData> result = await DataCache.GetAsync("your_key", () => LoadWebData());

The next time you do the same call, you get the cached result. You can combine this with the DataLoader to show a ProgressBar:

List<MyData> result = await DL.LoadAsync(() => DataCache.GetAsync("your_key", () => LoadWebData()));

For more advanced scenarios, see the included sample apps and unit tests.

Build status

License

Q42.WinRT is licensed under MIT. Refer to license.txt for more information.

Contributions

Contributions are welcome. Fork this repository and send a pull request if you have something useful to add.

Credits

Open Source Project Credits

Some code is used from other open source projects.

Related Projects

Other useful WinRT / Windows 8 projects.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].