Skip to main content

revit-dockable-pane

Register a WPF dockable pane in the Autodesk Revit UI with Nice3point.Revit.Toolkit DockablePaneProvider. USE FOR: registering a dockable pane and its initial dock state during application startup with the fluent API.

Zur Installation springen

Quellinformationen

Repository
Nice3point/revit-skills
Letzte Quellaktivität
23. Juli 2026 um 12:21
Erkannte Sprache von SKILL.md
Englisch
Sterne
13
Forks
3

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
revit-dockable-pane
description
Register a WPF dockable pane in the Autodesk Revit UI with Nice3point.Revit.Toolkit DockablePaneProvider. USE FOR: registering a dockable pane and its initial dock state during application startup with the fluent API.
license
MIT
# Revit Dockable Pane `DockablePaneProvider.Register(...).SetConfiguration(...)` (from `Nice3point.Revit.Toolkit`) wraps the verbose `IDockablePaneProvider` registration into a fluent call. Register the pane once during application startup. ## When to use - Adding a WPF dockable pane to the Revit UI and setting its initial dock position. ## Workflow ### Step 1: Register during startup ```csharp DockablePaneProvider .Register(uiControlledApplication, paneId, "Analysis") .SetConfiguration(data => { data.FrameworkElement = new AnalysisPaneView(); data.InitialState = new DockablePaneState { MinimumWidth = 300, DockPosition = DockPosition.Right }; }); ``` where `paneId` is a `Guid` or `DockablePaneId` value. `.Register(uiControlledApplication, paneId, "Analysis")` can be replaced with: ```csharp DockablePaneProvider .Register(uiControlledApplication) .SetId(paneId) // or SetId(dockablePaneId) .SetTitle("Analysis"); ``` ### Step 2: Resolve the view from DI when needed For a pane element built from a DI container, set `data.FrameworkElementCreator` to a `FrameworkElementCreator<T>` backed by the service provider (from `Nice3point.Revit.Toolkit`): ```csharp data.FrameworkElementCreator = new FrameworkElementCreator<AnalysisPaneView>(serviceProvider); ``` ### Step 3: Verify Confirm the pane appears under the Revit view tab and docks in the configured position. ## Validation - [ ] The pane is registered once during application startup with a stable pane id. - [ ] `FrameworkElement` (or `FrameworkElementCreator`) and `InitialState` are set. ## Common Pitfalls | Pitfall | Correct approach | |----------------------------------------------|-----------------------------------------------------------------| | Implementing `IDockablePaneProvider` by hand | Use `DockablePaneProvider.Register(...).SetConfiguration(...)`. | | A new pane id (`Guid`) generated per run | Use a stable, persisted pane id. | | `DockablePaneProvider` not found | The `Nice3point.Revit.Toolkit` package is not referenced. |
Auf GitHub ansehen