dotnet / dotnet/docs-desktop

WPF .NET 5 getting started article will need to demonstrate more

Open
#189 0 comments 0 reactions 0 assignees View on GitHub
doc-idea Pri2
Dominant language
C#
Stars
237
Forks
191
Avg merge
4d 16h
Merged PRs (30d)
3

Description

Related to #60

After the revamp of the .NET 5 WPF content is published, there will be a new getting started article that creates a new app. This app is pretty simple compared to the [.NET Framework walkthrough](https://docs.microsoft.com/en-us/dotnet/desktop/wpf/getting-started/walkthrough-my-first-wpf-desktop-application?view=netframeworkdesktop-4.8). This article should be expanded into multiple articles that build on the previous one and introduce new concepts.

01. **Part 1**

This is the basic article that will be published. Currently it's [here](https://github.com/dotnet/docs-desktop/blob/wpf-initial-60/dotnet-desktop-guide/net/wpf/get-started/create-app-visual-studio.md).

- Creating an app in Visual Studio
- Create some basic controls
- Respond to button click to add names to controls

01. **Part 2**

Dives into `{binding}` the UI with some backend data (all in app).

- Creating an ObservableCollection for the names list
- Change the button to add names to the collection
- Bind the collection to the ListBox
- Expand the data types to a full address book record instead of just name
- Introduce a Delete button to remove an item

01. **Part 3**

Explore validation on input

- Expand UI to support all fields of the address book
- Add "favorite" field
- Expand UI to support toggling "favorite"
- Add validation to data entry controls.
- Toggle Add button based on if record is valid.

01. **Part 4**

Explore the styles and themes features of WPF.

- Add a `DataTemplate` to the ListBox.
- Add multiple `DataTemplate` to the ListBox based on "favorite".
- Adjust validation styles.
- ???

01. **Part 5**

???

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.