All Projects → marb2000 → XamlIslands

marb2000 / XamlIslands

Licence: MIT license
Repository with several XAML Islands v1 samples (Win32, WPF, and WinForms) to demonstrate how to use it.

Programming Languages

C++
36643 projects - #6 most used programming language
C#
18002 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to XamlIslands

Windowscommunitytoolkit
The Windows Community Toolkit is a collection of helpers, extensions, and custom controls. It simplifies and demonstrates common developer tasks building UWP and .NET apps for Windows 10. The toolkit is part of the .NET Foundation.
Stars: ✭ 4,654 (+9802.13%)
Mutual labels:  xaml, uwp, wpf, winforms, windows-10, xaml-islands
WindowsCommunityToolkit
The Windows Community Toolkit is a collection of helpers, extensions, and custom controls. It simplifies and demonstrates common developer tasks building UWP and .NET apps for Windows 10 and Windows 11. The toolkit is part of the .NET Foundation.
Stars: ✭ 4,934 (+10397.87%)
Mutual labels:  xaml, uwp, wpf, winforms, windows-10, xaml-islands
Microsoft.Toolkit.Win32
This repository contains all controls for WPF and WinForms to simplify and demonstrate usage of UWP controls
Stars: ✭ 345 (+634.04%)
Mutual labels:  uwp, wpf, winforms, windows-10, xaml-islands, windows-xaml-host
Win32Acrylic
Acrylic demo applications based on different technology stack
Stars: ✭ 35 (-25.53%)
Mutual labels:  xaml, uwp, winrt, xaml-islands
Microsoft.toolkit.win32
This repository contains all controls for WPF and WinForms to simplify and demonstrate usage of UWP controls
Stars: ✭ 257 (+446.81%)
Mutual labels:  uwp, wpf, winforms, windows-10
UWP-Package-Installer
An UWP installer for appx/appxbundle packages
Stars: ✭ 85 (+80.85%)
Mutual labels:  xaml, uwp, windows-10, xaml-winrt
ModernKeePass
KDBX password manager for the Windows Store
Stars: ✭ 29 (-38.3%)
Mutual labels:  xaml, uwp, windows-10, winrt
Xamlflair
XamlFlair is an animation library for UWP, WPF, and Uno, built to facilitate Xaml animations using only attached properties.
Stars: ✭ 362 (+670.21%)
Mutual labels:  xaml, uwp, wpf, windows-10
Xamarin Forms Gtk Movies Sample
The Movie DB Xamarin.Forms Sample
Stars: ✭ 83 (+76.6%)
Mutual labels:  xaml, uwp, wpf
Template10
Making Windows 10 apps great again
Stars: ✭ 1,420 (+2921.28%)
Mutual labels:  xaml, uwp, winrt
Cimbalino Toolkit
☕️ Cimbalino Toolkit
Stars: ✭ 117 (+148.94%)
Mutual labels:  xaml, uwp, windows-10
Mahapps.metro.iconpacks
Awesome icon packs for WPF and UWP in one library
Stars: ✭ 1,157 (+2361.7%)
Mutual labels:  xaml, uwp, wpf
Files
A modern file manager that pushes the boundaries of the platform.
Stars: ✭ 15,198 (+32236.17%)
Mutual labels:  xaml, uwp, windows-10
DebounceMonitoring
📑 Add debounce logic for any method in a single line.
Stars: ✭ 44 (-6.38%)
Mutual labels:  uwp, wpf, winforms
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 (+2191.49%)
Mutual labels:  xaml, uwp, windows-10
Vanarsdel
VanArsdel Application UWP Sample
Stars: ✭ 126 (+168.09%)
Mutual labels:  xaml, uwp, windows-10
Quarrel
A UWP discord client
Stars: ✭ 238 (+406.38%)
Mutual labels:  xaml, uwp, windows-10
Uwp App Launcher Mobile
[Open Source] It's like the iOS and Android Home Screens but for Windows 10 (Phones).
Stars: ✭ 47 (+0%)
Mutual labels:  xaml, uwp, windows-10
Arcgis Toolkit Dotnet
Toolkit for ArcGIS Runtime SDK for .NET
Stars: ✭ 125 (+165.96%)
Mutual labels:  xaml, uwp, wpf
LRReader
A feature-complete reader and client for LANraragi
Stars: ✭ 62 (+31.91%)
Mutual labels:  xaml, uwp, windows-10

XAML Islands v1 early samples repository

This repository has samples to demonstrate how to use XAML Islands in several scenarios. Althought XAML Islands v1 was shipped within Windows 10 1903 update, the Visual Studio 2019 toolset for support XAML Island is still in development. There is no guarantee that these samples work for everybody. These are for those impatient developers who want to try unfinished and unstable things, like me :)

To test the samples, I recommend the following developer environment:

  1. Windows 10 1903. XAML Islands v1 doesn't work on previews versions of either Windows 10 nor Windows 7/8.x

  2. Visual Studio Preview 2019. Visual Studio 2019 is already released, but there are, more or less, updates every 4 months. The preview version contains the updates in development. Install these workloads:

    1. Universal Windows Platform development with the Windows 10 18362 SDK and C++ (v142)
    2. .NET development
    3. Desktop development with C++ with C++ MFC for v142, MSVC v142, Windows 10 SDK (10.0.18362.0)
  3. .NET Core 3 Preview. Install both versions: x64 and x86.

Samples

  • CppWinRT_Win32_SimpleApp - Unpackaged simple C++/WinRT Win32 app. A very simple project that showcases how to use the OS API DesktopWindowXamlSource to create a XAML Island.
  • WinForms_Core3_App - Unpackaged WinForms .NET Core 3 app that consumes a managed and native 3rd WinRT components. These WinRT components are in the Shared_Components project.
    • Read this doc for intructions.
  • WinForms_Packaging_Project - Packaged version of the WinForms sample.
    • Read this doc for intructions.
  • WPF_Core3_App - Unpackaged WPF .NET Core 3 app that consumes a managed and native 3rd WinRT components.These WinRT components are in the Shared_Components project.
    • Read this doc for intructions.
  • WPF_Packaging_Project - Packaged version of the WPF sample.
    • Read this doc for intructions.
  • CppWinRT_Win32_App. Unpackaged complex C++/WinRT Win32 app: This sample demonstrates how to consume native 3rd party controls.
    • Read this doc for intructions.

Running the samples

Set the right target platform

UWP WinRT Components require to target a specific platform, hence "Any CPU" is not a supported target. Before compile the samples, make sure you are targetting x86 or x64 platforms.

Sometimes changing the dropdown list of target platforms on the Visual Studio toolbar is not enough. It is recommended going into the Solution Properties → Configuration Properties → Configuration and change all the project's target platforms there.

Clean the bin and obj folders

After several compilations and builds, your output directories (bin folders) can contain all type of test files causing the builds and runs fail. You should clean your bin and obj folders after building the project for having a clean build.

The clean command from Visual Studio doesn't delete the bin and obj folders enterally. It is recommended to delete these folders manually or running a script in your repro folder. For example, this PowerShell script:

Get-ChildItem .\ -include bin,obj -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }

Be careful where you execute this script given it deletes all the bin and obj folder of the directory and subdirectories.

Native C++/WinRT Samples

In Microsoft argot, Native applications reference to all these apps that after compilation generates binary code. On the other hand, Managed applications are these apps that after compilation generates an intermediary language that is interpreted (or even compiled into binary) at runtime. These Managed applications require an additional framework that does this work on runtime, sort of a virtual machine. For simplicity's sake, in these docs and examples, we will call Native to the C++ apps and Managed to C# because the latter requires .NET.

These samples use C++/WinRT for Native applications. If you want to know more about C++/WinRT I recommend to see this short video and this Microsoft Build session. Also, visit the MSDN docs for C++/WinRT.

You don't need to install anything else to run the Native samples. C++/WinRT tools are deployed into your project via NuGet. However, if you want to author C++/WinRT apps, it is highly recommended to install the Visual Studio project templates.

Feedback

If you want to give us very early feedback, report a bug, tell us whether these samples are useful, etc., please, send an email to xamlIslandsfeedback @ microsoft.com, my engineering team will receive it.

Happy hacking!

Miguel Ramos

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].