Skip to content

docs(binding): add the ReactiveUI.Binding documentation section - #999

Open
glennawatson wants to merge 3 commits into
mainfrom
docs/reactiveui-binding-section
Open

glennawatson wants to merge 3 commits into
mainfrom
docs/reactiveui-binding-section

Conversation

@glennawatson

Copy link
Copy Markdown
Contributor

Summary

ReactiveUI.Binding has its own documentation section, with a page per topic and an API reference on every page.

  • A Binding section. Ten pages cover observing, bindings, converters, custom converters, mechanisms, views, threading, setup and the unsafe fallback, with an index and a generated API reference page.
  • Every page ends with an API reference table. Each row names a public member, what it does, its types and values, and links to its source.
  • Code comes from runnable examples. Each snippet is an excerpt of an example project in the ReactiveUI.Binding repository, with the printed output beneath it.
  • Superseded handbook pages redirect. The when-any, value-converters, windows-forms, binding-commands and binding-interactions pages redirect to the Binding pages.
  • The data-binding handbook index is a short hub. It links into the Binding section and keeps the platform pages.
  • Links on 13 pages point at the Binding pages. Getting started, handbook, primitives and reactive-programming pages use the new locations.
  • nuget-packages.json lists ReactiveUI.Binding.

Why

The handbook describes the reflection-based binding APIs. ReactiveUI.Binding generates the binding code at build time, and its behaviour, setup and fallbacks need their own pages.

Breaking changes

None. Each removed handbook URL has a redirect.

How this was verified

Every code fence matches its example source, and each example prints the output shown on the page. The site builds and the internal links in the new section resolve.

Notes for the reviewer

  • Where to start. docs/documentation/binding/index.md links to every page; api.md is generated.
  • Mechanical parts. The API reference tables are long and follow one row format.
  • Out of scope. ReactiveObject, WhenActivated, ViewModelViewHost, Avalonia and WireUpControls pages are unchanged apart from links.

Checklist

  • I have read the Contribute guide
  • The PR title follows Conventional Commits
  • Tests cover this change, or the summary says why they do not
  • New or changed public API has XML documentation

- Add a Binding section with index, observing, bindings, converters, custom converters, mechanisms, views, threading, setup and unsafe pages.
- End every page with an API reference table that lists each public member with its source link.
- Add a generated API reference page for every public type and member.
- Quote each code sample from the runnable example projects in the ReactiveUI.Binding repository.
- Replace the when-any, value-converters, windows-forms, binding-commands and binding-interactions handbook pages with redirects to the Binding pages.
- Rewrite the data-binding handbook index as a short hub that links into the Binding section.
- Point the links on 13 existing pages at the new Binding pages.
- List ReactiveUI.Binding in nuget-packages.json.
@glennawatson

Copy link
Copy Markdown
Contributor Author

Holding on this work until some ReactiveUI changes are done in the main repo to remove the old binding engine and release.

But here until it does.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants