docs: add complete how-to documentation for all TableView features#391
Merged
Conversation
- Updated landing page (index.md) with quick start, feature table, and doc links - Updated docs/toc.yml with full grouped navigation structure - Added overview.md: architecture, key concepts, namespace reference - Added binding-data.md: ObservableCollection, INotifyPropertyChanged, live shaping - Added defining-columns.md: AutoGenerateColumns, explicit columns, AutoGeneratingColumn event - Added column-types.md: all 9 built-in column types with examples and property tables - Added column-sizing.md: Width, GridLength, ColumnAutoWidthMode, min/max, row heights - Added sorting.md: built-in sort, SortDescriptions, Sorting/ClearSorting events - Added filtering.md: filter flyout, FilterDescriptions, ShowFilterItemsCount, custom handler - Added editing.md: full lifecycle (BeginningEdit, PreparingCellForEdit, CellEditEnding, CellEditEnded) - Added selection.md: SelectionMode, SelectionUnit, CellSlot, CellSelectionChanged - Added row-headers.md: HeadersVisibility, RowHeaderTemplate, sizing - Added row-details.md: RowDetailsTemplate, RowDetailsVisibilityMode, AreRowDetailsFrozen - Added frozen-columns.md: FrozenColumnCount - Added column-reordering.md: CanReorderColumns, ColumnReordering/Reordered events - Added clipboard.md: CanCopy, CanPaste, CopyToClipboard, PasteFromClipboard events - Added export.md: ShowExportOptions, ExportAllContent/ExportSelectedContent events - Added styling.md: CellStyle, ColumnHeaderStyle, ElementStyle, grid lines, alternate rows - Added conditional-styling.md: ConditionalCellStyles, TableViewConditionalCellStyle, predicate - Added context-flyouts.md: RowContextFlyout, CellContextFlyout, opening events - Added commands-events.md: full events/args/enums reference - Added performance.md: virtualization, live shaping, auto-width, filtering tips - Added migration-wpf.md: WPF DataGrid property/event/column mapping tables - Added migration-wct.md: WCT DataGrid property/event/column mapping tables - Added feature-index.md: feature index with common scenario quick-links Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace backtick-quoted API member names in prose and table cells with DocFX xref links ([`Member`](xref:WinUI.TableView.ClassName.Member)) so readers can navigate directly to the generated API reference from every mention of a property, event, enum type, or column class. - 23 files updated (371 prose lines + 394 link substitutions) - Links cover: TableView properties/events, column types and their properties, event args classes, enum types, helper types - Code blocks are left untouched - Already-linked text is not double-linked Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace broken file link (~/api/index.md) with an xref link to the TableView API reference page, which is the correct DocFX entry point. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- column-reordering.md: add xrefs for TableViewColumn.CanReorder and TableViewColumn.Order - sorting.md: replace SortDescriptions.Clear() with ClearAllSorting(); add RefreshSorting() docs; add xrefs for CanSort and SortDirection; update Common options table - filtering.md: replace FilterDescriptions.Clear() with ClearAllFilters(); add ClearAllFilters() and RefreshFilter() sections; add xrefs for CanFilter and IsFiltered on TableViewColumn; update Common options table - performance.md: add RefreshView(), RefreshSorting(), RefreshFilter() documentation with examples - selection.md: expand Corner button section to document full Options flyout contents (SelectAll, DeselectAll, Copy, Copy with Headers, Paste, Clear Sorting, Clear Filter, Export All, Export Selected) and ShowExportOptions gate - clipboard.md: update IncludeHeaders description to mention Ctrl+Shift+C shortcut; update Copying section - migration-wpf.md: remove unverified 'Microsoft recommends' claim - migration-wct.md: remove unverified 'archived Toolkit documentation recommends' claim - toc.yml: remove Customization (Legacy) entry - index.md: add Product model and Products property C# snippet after XAML quick start; remove redundant Features link list (keeping Key Features table and Getting Started / Migration links) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add link to Feature Index above the table - Each feature row now links to the corresponding how-to doc - Merged Grid lines + Alternate rows into a single Styling row - Added Column reordering and Column sizing rows that were missing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Xref additions across feature docs: - editing.md: xrefs for all BeginningEdit, PreparingCellForEdit, CellEditEnding event arg properties and TableViewEditAction enum values - sorting.md: xrefs for TableViewSortingEventArgs.Column and TableViewClearSortingEventArgs.Column - clipboard.md: xref for TableViewCopyToClipboardEventArgs.IncludeHeaders - column-reordering.md: xrefs for event arg properties; correct TableViewColumnReorderedEventArgs to use Index property - column-sizing.md: correct enum xrefs to use TableViewColumnAutoWidthMode.* UIDs - conditional-styling.md: xrefs for TableViewConditionalCellStyleContext properties - context-flyouts.md: xrefs for row/cell context flyout event arg properties; correct cell args to Slot/Item - row-details.md: xrefs for TableViewRowDetailsVisibilityMode enum values - row-headers.md: xrefs for TableViewHeadersVisibility enum values - selection.md: xrefs for TableViewSelectionUnit and TableViewCornerButtonMode enum values; fix broken xref typo - styling.md: xrefs for TableViewGridLinesVisibility enum values and column style properties - defining-columns.md: xrefs for TableViewAutoGeneratingColumnEventArgs properties Content corrections: - migration-wct.md / migration-wpf.md: update intro wording - migration-wct.md: remove unsupported feature rows that were incorrectly listed - datagrid-feature-comparison.md: fix table column alignment - index.md: fix Samples App URL; correct Auto-generating columns link to defining-columns.md; remove Feature Index link - toc.yml: remove Feature Index entry Removed legacy docs: - customization.md deleted - feature-index.md deleted Added: - docs/api/ regenerated YAML files for full API reference Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Trigger on pull_request (opened, synchronize, reopened, closed) in addition to push - build job: skip on PR closed events (no-op); upload docs-site artifact on PR open/sync for preview download - publish-docs job: runs independently on PR merged (closed + merged == true); self-contained build + deploy; no longer depends on build job - push to main: still builds docs as a sanity check but does not deploy Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add 'Sorting by a different property (SortMemberPath)' section explaining when and how to use SortMemberPath - Show examples for bound columns (formatted display vs raw sort value) and template columns (no Binding, explicit sort path) - Explain the reflection vs cell-content fallback behavior - Add SortMemberPath to Common options table - Update Notes to mention SortMemberPath as the preferred way to enable sort on template columns Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Screenshots added: - docs/images/tableview-overview.png -> index.md (intro) - docs/images/sorting-column-header.png -> sorting.md (basic example) - docs/images/filtering-flyout.png -> filtering.md (filter flyout section) - docs/images/cell-selection.gif -> selection.md (SelectionUnit section) - docs/images/column-reordering-drag.gif -> column-reordering.md (basic example) - docs/images/row-headers-custom.png -> row-headers.md (custom template section) - docs/images/row-details-expanded.png -> row-details.md (basic example) - docs/images/styling-alternating-rows.png -> styling.md (alternating rows section) - docs/images/conditional-styling-example.png -> conditional-styling.md (basic example) User edits preserved: - index.md: add dotnet CLI install option; simplify XAML snippet; switch Product to class with init properties - conditional-styling.md: remove extra collection wrapper; update predicate to IsLowPrice/Price < 10 lambda style - row-details.md: update template to Product model (Name, Price, InStock) - row-headers.md: update custom template to FontIcon example - styling.md: update AlternateRowBackground/Foreground to realistic dark-mode values Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR significantly expands the DocFX documentation set for WinUI.TableView, aiming to provide task-based guides for core TableView features (data binding, columns, sorting/filtering, editing, selection, styling, export, migration), and updates docs navigation plus CI behavior for doc builds.
Changes:
- Added a comprehensive set of new feature-focused documentation pages under
docs/docs/and rewrotedocs/index.mdto act as a structured entry point. - Reworked
docs/docs/toc.ymlinto grouped sections (Getting Started, Data, Interaction, Layout, etc.) to match the new doc set. - Updated GitHub Actions workflows to build docs on PRs (with an uploaded preview artifact) and adjusted CI triggers.
Reviewed changes
Copilot reviewed 28 out of 38 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/index.md | Rewritten landing page with quick start, feature table, and links into the new doc set |
| docs/docs/toc.yml | Reorganized DocFX TOC into grouped navigation for the expanded documentation set |
| docs/docs/styling.md | New styling guide (cell/header styles, grid lines, alternate rows) |
| docs/docs/sorting.md | New sorting guide with SortMemberPath, events, and programmatic sorting |
| docs/docs/selection.md | New selection guide (SelectionMode/SelectionUnit, current cell, corner button) |
| docs/docs/row-headers.md | New row headers guide (visibility, templates/selectors, sizing) |
| docs/docs/row-details.md | New row details guide (templates/selectors, visibility modes, freezing) |
| docs/docs/performance.md | New performance guide (virtualization, live shaping, refresh, large dataset guidance) |
| docs/docs/overview.md | New overview/concepts page describing architecture and key concepts |
| docs/docs/migration-wpf.md | New WPF DataGrid migration mapping guide |
| docs/docs/migration-wct.md | New WCT DataGrid migration mapping guide |
| docs/docs/frozen-columns.md | New frozen columns guide |
| docs/docs/filtering.md | New filtering guide (flyout, programmatic filters, handler) |
| docs/docs/export.md | New CSV export guide |
| docs/docs/editing.md | New editing guide (lifecycle, events, read-only, actions) |
| docs/docs/defining-columns.md | New guide for auto-generated vs explicit columns and common column properties |
| docs/docs/datagrid-feature-comparison.md | Minor table formatting tweak |
| docs/docs/context-flyouts.md | New context flyouts guide (row/cell flyouts, opening events) |
| docs/docs/conditional-styling.md | New conditional cell styling guide |
| docs/docs/commands-events.md | New events/commands/enums reference page |
| docs/docs/column-types.md | New column types reference page with examples and property tables |
| docs/docs/column-sizing.md | New column sizing guide |
| docs/docs/column-reordering.md | New column reordering guide and events |
| docs/docs/clipboard.md | New clipboard/copy-paste guide |
| docs/docs/binding-data.md | New binding/data source guide and CollectionView notes |
| docs/docs/customization.md | Removed older customization page (superseded by new feature-specific docs) |
| .github/workflows/ci-docs.yml | Builds docs on PRs and uploads a preview artifact; deploy remains push-only |
| .github/workflows/ci-build.yml | Adjusted PR trigger behavior (no longer ignores docs/** on PRs) |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
- New docs/docs/aot-compatibility.md covering:
- When AOT/trimming guidance applies
- The GeneratedBindableCustomProperty rule with clear bound vs template column breakdown
- {Binding} requires attribute; {x:Bind} in templates does not
- Plain POCO and CommunityToolkit.Mvvm examples
- Nested model guidance
- Project configuration (PublishAot, CsWinRTAotWarningLevel)
- Links to .NET Native AOT docs, C#/WinRT, CommunityToolkit.Mvvm, and CsWinRT GitHub
- toc.yml: add Native AOT Compatibility under Reference group
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
6 tasks
pull Bot
pushed a commit
to mavaddat/WinUI.TableView
that referenced
this pull request
Jul 5, 2026
- Resolve toc.yml merge conflict: add Accessibility entry under the new grouped Reference section from the PR w-ahmad#391 docs overhaul - Rewrite accessibility.md to match the Microsoft Learn / how-to style used by all new docs: xref links, 'When to use it', XAML/C# examples with tv: namespace prefix, 'Notes and limitations', 'Related articles' - Replace tvs: with tv: namespace prefix throughout - Add IValueProvider-on-edit-element note and Escape focus behaviour note (matching the fix made in the previous commit) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a complete, task-based documentation set for every WinUI.TableView feature. All docs are based on direct inspection of the source code, XML comments, existing docs, and README content.
What's new
22 new documentation files
overview.mdbinding-data.mdObservableCollection,INotifyPropertyChanged, live shapingdefining-columns.mdAutoGenerateColumns, explicit columns,AutoGeneratingColumneventcolumn-types.mdcolumn-sizing.mdWidth,GridLength,ColumnAutoWidthMode, min/max, row heightssorting.mdSortDescriptions,Sorting/ClearSortingeventsfiltering.mdFilterDescriptions,ShowFilterItemsCount, custom handlerediting.mdBeginningEdit→PreparingCellForEdit→CellEditEnding→CellEditEndedselection.mdSelectionMode,SelectionUnit,CellSlot,CellSelectionChangedrow-headers.mdHeadersVisibility,RowHeaderTemplate, sizingrow-details.mdRowDetailsTemplate,RowDetailsVisibilityMode,AreRowDetailsFrozenfrozen-columns.mdFrozenColumnCountcolumn-reordering.mdCanReorderColumns,ColumnReordering/ColumnReorderedeventsclipboard.mdCanCopy,CanPaste,CopyToClipboard,PasteFromClipboardexport.mdShowExportOptions,ExportAllContent/ExportSelectedContentstyling.mdCellStyle,ColumnHeaderStyle,ElementStyle, grid lines, alternate rowsconditional-styling.mdConditionalCellStyles,TableViewConditionalCellStyle, predicatecontext-flyouts.mdRowContextFlyout,CellContextFlyout, opening eventscommands-events.mdperformance.mdmigration-wpf.mdmigration-wct.mdfeature-index.mdUpdated files
docs/index.md— Rewritten with quick start example, feature table, and links to all doc sectionsdocs/docs/toc.yml— Full grouped navigation: Getting Started, Data, Interaction, Layout, Data Operations, Appearance, Reference, MigrationDocumentation style
Each feature doc follows the Microsoft Learn WPF DataGrid documentation style:
Validation
toc.yml✅[text](link.md)links resolve to existing files ✅Closes #216