WpfLab.WpfRuntime 1.0.0-alpha.3

This is a prerelease version of WpfLab.WpfRuntime.
dotnet add package WpfLab.WpfRuntime --version 1.0.0-alpha.3
                    
NuGet\Install-Package WpfLab.WpfRuntime -Version 1.0.0-alpha.3
                    
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="WpfLab.WpfRuntime" Version="1.0.0-alpha.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WpfLab.WpfRuntime" Version="1.0.0-alpha.3" />
                    
Directory.Packages.props
<PackageReference Include="WpfLab.WpfRuntime" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add WpfLab.WpfRuntime --version 1.0.0-alpha.3
                    
#r "nuget: WpfLab.WpfRuntime, 1.0.0-alpha.3"
                    
#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.
#:package WpfLab.WpfRuntime@1.0.0-alpha.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=WpfLab.WpfRuntime&version=1.0.0-alpha.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=WpfLab.WpfRuntime&version=1.0.0-alpha.3&prerelease
                    
Install as a Cake Tool

WpfRuntime

NuGet NuGet Downloads Build WPF NuGet Package

WpfRuntime is an experimental and actively maintained WPF repository based on the open-source dotnet/wpf project. It aims to enable faster iteration, provide a straightforward development experience, and make it easier for the community to build, modify, and experiment with WPF.

The source originates from dotnet/wpf and remains subject to the notices and license included in this repository.

Quick Start

msbuild Microsoft.Dotnet.Wpf.slnx -restore /p:Configuration=Debug /p:Platform=x64 /m:1 /nr:false /v:minimal

Microsoft.Dotnet.Wpf.slnx is the root solution entry point.

Build a Local Package

dotnet run --project eng/Builder/Builder.csproj -- --version 1.0.0-local

The generated WpfLab.WpfRuntime package is written to eng/Builder/bin/nupkg/.

Relay an Existing Pull Request

Set GITHUB_TOKEN to a fine-grained personal access token or GitHub App token that can read the source pull request and create pull requests in the target repository. Git push uses the credentials already configured for the target remote through Git Credential Manager, SSH, or another local Git credential provider. Do not put the token in command-line arguments or commit it to the repository.

$env:GITHUB_TOKEN = "<fine-grained PAT or GitHub App token>"

dotnet run --project eng/Builder/Builder.csproj -- relay-pr `
  --pull-request https://github.com/dotnet/wpf/pull/11781

This command imports the changes from the specified GitHub pull request and creates the corresponding pull request in this repository. Local build validation is skipped by default; GitHub Actions validates the published pull request.

Use in a WPF Application

Install the package in your WPF application:

dotnet add package WpfLab.WpfRuntime

Or

<PackageReference Include="WpfLab.WpfRuntime" Version="xxx" />

Build and publish the application as usual. The package automatically uses the WPF assemblies and runtime files provided by this repository.


Windows Presentation Foundation (WPF)

.NET Foundation Build Status codecov MIT License

Windows Presentation Foundation (WPF) is a UI framework for building Windows desktop applications.

WPF supports a broad set of application development features, including an application model, resources, controls, graphics, layout, data binding and documents. WPF uses the Extensible Application Markup Language (XAML) to provide a declarative model for application programming.

WPF's rendering is vector-based, which enables applications to look great on high DPI monitors, as they can be infinitely scaled. WPF also includes a flexible hosting model, which makes it straightforward to host a video in a button, for example.

Visual Studio's designer, as well as Visual Studio Blend, make it easy to build WPF applications, with drag-and-drop and/or direct editing of XAML markup.

As of .NET 6.0, WPF supports ARM64.

See the WPF Roadmap to learn about project priorities, status and ship dates.

WinForms is another UI framework for building Windows desktop applications that is supported on .NET (7.0.x/6.0.x). WPF and WinForms applications only run on Windows. They are part of the Microsoft.NET.Sdk.WindowsDesktop SDK. You are recommended to use the most recent version of Visual Studio to develop WPF and WinForms applications for .NET.

To build the WPF repo and contribute features and fixes for .NET 8.0, Visual Studio 2022 Preview is required.

Getting started

Status

  • We are currently developing WPF for .NET 10.

See the WPF roadmap to learn about the schedule for specific WPF components.

Test published at separate repo Tests and have limited coverage at this time. We will add more tests, however, it will be a progressive process.

The Visual Studio WPF designer is now available as part of Visual Studio 2019.

How to Engage, Contribute and Provide Feedback

Some of the best ways to contribute are to try things out, file bugs, join in design conversations, and fix issues.

.NET Framework issues

Issues with .NET Framework, including WPF, should be filed on VS developer community, or Product Support. They should not be filed on this repo.

Relationship to .NET Framework

This code base is a fork of the WPF code in the .NET Framework. .NET Core 3.0 was released with a goal of WPF having parity with the .NET Framework version. Over time, the two implementations may diverge.

The Update on .NET Core 3.0 and .NET Framework 4.8 provides a good description of the forward-looking differences between .NET Core and .NET Framework.

This update states how going forward .NET Core is the future of .NET. and .NET Framework 4.8 will be the last major version of .NET Framework.

Code of Conduct

This project uses the .NET Foundation Code of Conduct to define expected conduct in our community. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting a project maintainer at conduct@dotnetfoundation.org.

Reporting security issues and security bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

Also see info about related Microsoft .NET Core and ASP.NET Core Bug Bounty Program.

License

.NET Core (including the WPF repo) is licensed under the MIT license.

.NET Foundation

.NET Core WPF is a .NET Foundation project.

See the .NET home repo to find other .NET-related projects.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.