Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify README #40

Merged
merged 5 commits into from
Dec 4, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
95 changes: 33 additions & 62 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,104 +2,75 @@

[![Build Status](https://dnceng.visualstudio.com/internal/_apis/build/status/dotnet.wpf)](https://dnceng.visualstudio.com/internal/_build/latest?definitionId=234)

This repo contains the open-source components of Windows Presentation Foundation (WPF) that run on top of .NET Core.
This is based on, but separate from, the version of WPF that is part of .NET Framework.
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.

We haven't finished porting WPF to .NET Core yet, which means not all source code is on GitHub (see [port status](#port-status) for details).
We plan to complete the port during 2019.
The reason it takes some time is that we need to support & build all the pieces in an open source way,
which requires decoupling the code base from our internal engineering system.
At the same time, we don't want to block open sourcing until the port is complete.
This is similar to how other .NET Core repos with existing code have been brought up, such as [CoreFx](https://github.com/dotnet/corefx) in 2014.
WPF applications are based on a vector graphics architecture. This 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. The visual designer provided in Visual Studio makes it easy to build WPF application, with drag-in-drop and/or direct editing of XAML markup.

> Note: The visual designer is not yet available and will be part of a Visual Studio 2019 update.

Even though .NET Core is a cross-platform technology, WPF only runs on Windows.
[WinForms](https://github.com/dotnet/winforms) is another UI framework for building Windows desktop applications that is supported on .NET Core. WPF and WinForms applications only run on Windows. They are part of the `Microsoft.NET.Sdk.WindowsDesktop` SDK.

## Getting started


## Quick Links

* [Getting started instructions](Documentation/getting-started.md)
* [.NET Core 3.0 SDK Preview 1](https://www.microsoft.com/net/download)
* [Overall .NET Core roadmap & shipdates](https://github.com/dotnet/core/blob/master/roadmap.md)


* [Contributing guide](Documentation/contributing-guide.md)

## Getting started with WPF on .NET Core
## Status

Follow [getting started instructions](Documentation/getting-started.md).
We are in the process of doing four projects with WPF:

* Port WPF to .NET Core.
* Publish source to GitHub.
* Publish (and in some cases write) tests to GitHub and enable automated testing infrastructure.
* Enable the Visual Studio WPF designer to work with WPF running on .NET Core.

We are part-away through porting WPF to .NET Core, and will complete that for .NET Core 3.0. We intend to bring the codebase up to functionality and performance parity with .NET Framework, except for a small number of scenarios we do not intend to support (for example, [XBAPs](https://docs.microsoft.com/dotnet/framework/wpf/app-development/wpf-xaml-browser-applications-overview)).

## Port Status
We have published only a small part of the WPF source. We will continue to publish WPF components as part of the .NET Core 3 project. We will publish source and tests at the same time for each component.

The port from WPF for .NET Framework is still in progress. Currently this repository contains these components:

* Binaries:
* System.Xaml
* Tests:
* DrtXaml

Binaries in this repository eventually roll up to the `Microsoft.NET.Sdk.WindowsDesktop` SDK.
See [WPF roadmap](roadmap.md) to learn about the schedule for specific WPF components.

We have published very few tests and have very limited coverage for PRs at this time as a result. We will add more tests in 2019, however, it will be a progressive process. We welcome test contributions to increase converage and help us validate PRs more easily.

The Visual Studio WPF designer is not yet available. In short, we need to move to an out-of-proc model (relative to Visual Studio) with the designer. This work will be 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.

* Use [daily builds](Documentation/getting-started.md#installation).
* If you have a question or found a bug, [file a new issue](https://github.com/dotnet/wpf/issues/new).
* Issues with WPF on .NET Framework should be filed via Feedback Hub on Windows 10 (Category: *Developer Platfornm*, sub-category *UI frameworks and controls* and make it clear your feedback is for WPF, not WinUI XAML), or [Product Support](https://support.microsoft.com/en-us/contactus?ws=support) if you have a contract.

**IMPORTANT:** WPF for .NET Core 3.0 release focuses on parity with WPF for .NET Framework.
We do not plan to take contributions or address bugs that are not unique to WPF for .NET Core in 3.0 release.
Bugs which are present on both WPF platforms (for .NET Core and .NET Framework) will be prioritized for future releases of .NET Core (post-3.0).
* This repo defines [contributing guidelines](Documentation/contributing-guide.md) and also follows the more general[.NET Core contributing guide](https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/contributing.md).
* If you have a question or have found a bug, [file an issue](https://github.com/dotnet/wpf/issues/new).
* Use [daily builds](Documentation/getting-started.md#installation) if you want to contribute and stay up to date with the team.

### Issue Guide
## Relationship to .NET Framework

Read our detailed [issue guide](Documentation/issue-guide.md) which covers:
This code base is a fork of the WPF code in the .NET Framework. We intend to release .NET Core 3.0 with WPF having parity with the .NET Framework version. Over time, the two implementations may diverge.

* How to file high-quality bug reports
* How to use and understand Labels, Milestones, Assignees and Upvotes on issues
* How to escalate (accidentally) neglected issue or PR
* How we triage issues
The [Update on .NET Core 3.0 and .NET Framework 4.8](https://blogs.msdn.microsoft.com/dotnet/2018/10/04/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.

For general .NET Core 3 issues (not specific to WPF), use the [.NET Core repo](https://github.com/dotnet/core/issues) or other repos if appropriate (e.g. [CoreFX](https://github.com/dotnet/corefx/issues), [WinForms](https://github.com/dotnet/winforms/issues)).
Issues with .NET Framework, including WPF, should be filed on [VS developer community](https://developercommunity.visualstudio.com/spaces/61/index.html), or [Product Support](https://support.microsoft.com/en-us/contactus?ws=support). They should not be filed on this repo.

### Contributing Guide
## Code of Conduct

Read our detailed [contributing guide](Documentation/contributing-guide.md) which covers:
This project uses the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/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 [email protected].

* Which kind of PRs we accept/reject for .NET Core 3.0 release
* Coding style
* PR style preferences (squashing vs. merging, etc.)
* Developer guide for building and testing locally
## Reporting security issues and security bugs

### Community

This project has adopted the code of conduct defined by the [Contributor Covenant](https://contributor-covenant.org/) to clarify expected behavior in our community.
For more information, see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct).

### Reporting security issues and security bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) <[email protected]>.
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](https://www.microsoft.com/msrc/faqs-report-an-issue).
Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) <[email protected]>. 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](https://www.microsoft.com/msrc/faqs-report-an-issue).

Also see info about related [Microsoft .NET Core and ASP.NET Core Bug Bounty Program](https://www.microsoft.com/msrc/bounty-dot-net-core).



## License

.NET Core (including WPF repo) is licensed under the [MIT license](LICENSE.TXT).



## .NET Foundation

.NET Core WPF is a [.NET Foundation](https://www.dotnetfoundation.org/projects) project.

There are many .NET related projects on GitHub.

* [.NET home repo](https://github.com/Microsoft/dotnet) - links to 100s of .NET projects, from Microsoft and the community.
- [.NET home repo](https://github.com/Microsoft/dotnet) - links to 100s of .NET
projects, from Microsoft and the community.
x