$npx -y skills add DevExpress/agent-skills --skill devexpress-winforms-property-gridDevExpress WinForms PropertyGridControl — displays and edits the public properties of any object. Covers NuGet setup (DevExpress.Win.VerticalGrid, namespace DevExpress.XtraVerticalGrid), assigning objects via SelectedObject and SelectedObjects, Classic vs Office view (ActiveViewT
| 1 | # DevExpress WinForms Property Grid |
| 2 | |
| 3 | `PropertyGridControl` shows and edits the public properties of any object, similar to Visual Studio's Properties window. Assign any object to `SelectedObject` — the control reflects on it, auto-creates rows, and groups them by `[Category]` attribute. Rows can also be defined manually in code or the VS designer. |
| 4 | |
| 5 | Two visual styles are available: **Classic** (tabular, Visual Studio-like) and **Office** (tabbed, with track bars and property markers). Both can show expandable nested objects and editable collection properties via a dialog editor. |
| 6 | |
| 7 | ## When to Use This Skill |
| 8 | |
| 9 | - Create a settings panel or object inspector that shows an object's properties without writing individual editors. |
| 10 | - Configure which properties appear, their display names, in-place editors, and formats. |
| 11 | - Let users edit `List<T>` or other collection properties through a collection editor dialog. |
| 12 | - Group properties into named categories with expand/collapse behavior. |
| 13 | - Make complex object properties (e.g., `DatabaseSettings`, `ProxyConfig`) expandable so their nested fields are accessible. |
| 14 | - Use the Office view with tabbed navigation and property markers. |
| 15 | - Let users **search/filter properties** with the built-in find panel — no custom search box or toolbar needed. |
| 16 | |
| 17 | ## Prerequisites & Installation |
| 18 | |
| 19 | ### NuGet Package |
| 20 | |
| 21 | ``` |
| 22 | DevExpress.Win.VerticalGrid (or DevExpress.Win.Navigation) |
| 23 | ``` |
| 24 | |
| 25 | Install via the DevExpress NuGet feed. A valid DevExpress license is required. |
| 26 | |
| 27 | ### Assembly and Namespace |
| 28 | |
| 29 | ``` |
| 30 | Assembly: DevExpress.XtraVerticalGrid.v26.1.dll |
| 31 | Namespace: DevExpress.XtraVerticalGrid |
| 32 | DevExpress.XtraVerticalGrid.Rows |
| 33 | DevExpress.XtraVerticalGrid.Events |
| 34 | ``` |
| 35 | |
| 36 | ### Host Form (Recommended) |
| 37 | |
| 38 | `PropertyGridControl` works on a plain `Form`. For consistent skinning/theming, hosting it on `XtraForm` (or `RibbonForm` when hosting a `RibbonControl`) is recommended so the control and form chrome paint with the same skin. |
| 39 | |
| 40 | ## Before You Start — Ask the Developer |
| 41 | |
| 42 | If the host agent has a structured question-asking tool available, use it to ask these questions one at a time with clear options — for example, Claude Code's `AskUserQuestion` tool or GitHub Copilot's `askQuestions` tool. If no such tool is available, ask the questions directly in the chat response before generating code. |
| 43 | |
| 44 | 1. **Which object(s) are shown?** One object (`SelectedObject`) or multiple (`SelectedObjects`)? Multiple objects show only shared properties. |
| 45 | 2. **Auto or manual rows?** Empty `Rows` collection → auto-generated from reflection. Pre-populated → uses defined rows only. |
| 46 | 3. **View style?** Classic (default) supports `MultiEditorRow`; Office supports tabs and track bars. Office mode does **not** support `MultiEditorRow`. |
| 47 | 4. **Collection properties?** Need the DevExpress editor or a custom dialog? Configure `OptionsCollectionEditor` or `DefaultCollectionEditors`. |
| 48 | 5. **Complex properties?** Does the nested class have `[TypeConverter(typeof(ExpandableObjectConverter))]`? |
| 49 | 6. **Property filtering?** If only a subset of properties should appear, handle `CustomPropertyDescriptors`. |
| 50 | |
| 51 | ## Documentation & Navigation Guide |
| 52 | |
| 53 | ### Getting Started |
| 54 | Refer to [references/getting-started.md](references/getting-started.md) (.NET 8+) or [references/getting-started-dotnet-fw.md](references/getting-started-dotnet-fw.md) (.NET Framework 4.x) |
| 55 | When you need to: install the NuGet package, add the control to a form, assign `SelectedObject`, choose Classic vs Office view, understand auto vs manual row generation, and use `PropertyDescriptionControl`. |
| 56 | |
| 57 | ### Property Definitions and Row Configuration |
| 58 | Refer to [re |