ShortDev.Uwp.FullTrust
0.1.8
Prefix Reserved
dotnet add package ShortDev.Uwp.FullTrust --version 0.1.8
NuGet\Install-Package ShortDev.Uwp.FullTrust -Version 0.1.8
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ShortDev.Uwp.FullTrust" Version="0.1.8" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ShortDev.Uwp.FullTrust --version 0.1.8
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ShortDev.Uwp.FullTrust, 0.1.8"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ShortDev.Uwp.FullTrust as a Cake Addin #addin nuget:?package=ShortDev.Uwp.FullTrust&version=0.1.8 // Install ShortDev.Uwp.FullTrust as a Cake Tool #tool nuget:?package=ShortDev.Uwp.FullTrust&version=0.1.8
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
ShortDev.Uwp.FullTrust
Create highly performant UI with WinUi2
(Uwp) and enjoy the freedom of Win32
!
You don't need any interop code for the .GetForCurrentView()
methods.
Problems
- The library does currently not support any Uwp-Frame related apis
- Therefore not frame customization
- Creating a new window is only possible with the library apis
- Pickers still need
IInitializeWithWindow
(See #11)
Setup
- Create new Uwp project (UI-Project)
- Add
<EnableTypeInfoReflection>false</EnableTypeInfoReflection>
in to the project file - Add reference to this library
- Create new
netcoreapp3.1
WinExe
project (Host-Project) - Add reference to
Microsoft.Toolkit.Win32.UI.SDK
- Add reference to Uwp project
- Add
TargetPlatformVersion
andAssetTargetFallback
to the project file - Redirect main method to the Uwp main method (See below)
Host-Project (netcoreapp3.1)
This is needed for the management of all the dependency and runtime stuff.
Should contain no logic.
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Platforms>x86;x64</Platforms>
<AssetTargetFallback>uap10.0.19041</AssetTargetFallback>
<TargetPlatformVersion>10.0.19041</TargetPlatformVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Toolkit.Win32.UI.SDK" Version="6.1.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="<PATH_TO_UWP_PROJECT>" />
</ItemGroup>
</Project>
Program.cs
public class Program
{
[STAThread]
public static void Main(string[] args)
{
NAMESPACE.Program.Main(args);
}
}
UI-Project (Uwp)
Should contain all logic.
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<EnableTypeInfoReflection>false</EnableTypeInfoReflection>
</PropertyGroup>
...
</Project>
Program.cs
public class Program
{
[STAThread]
public static void Main(string[] args)
{
FullTrustApplication.Start((_) => new App());
}
}
Examples
Create New Window
var view = FullTrustApplication.CreateNewView();
_ = view.CoreWindow.Dispatcher.RunIdleAsync((x) =>
{
Window.Current.Content = new MainPage();
Window.Current.Activate();
});
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- WinUI.Interop (>= 0.2.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.