Skip to content

StartDrawer

StartDrawer wraps the start-side drawer content consumed by DrawerLayout.

StartDrawer(NavigationPane(items, selected, true))
.Open(start_open)
.OnOpenChanged([start_open](bool open) {
start_open = open;
})

Open state is controlled. .Open(bool) and .Open(State<bool>) provide the current value; DrawerEvents::OpenChanged requests the next value. Logical start follows the platform layout direction.

The active DrawerStyle determines modal width, scrim, shadow, edge gesture area, and motion. When DrawerLayout can place the drawer persistently beside content, it uses rectangular inline presentation rather than modal decoration.

StartDrawer is a structural wrapper and preserves the semantic order and meaning of its content instead of publishing a separate control role.

  • StartDrawer(View content).
  • Open(bool) and Open(State<bool>).
  • OnOpenChanged(handler).

See DrawerLayout and EndDrawer.

The default Open value is false. It controls modal presentation when the start side cannot be inline; an inline start drawer is automatically present even with Open(false). See the responsive policy before synchronizing open state with a viewport breakpoint yourself.

OnOpenChanged receives bool, returns no value, and asks the owner for a new modal value. A navigation destination handler can update both the selected destination and start_open = false; on a wide layout this does not remove the persistent navigation pane. The wrapper does not invent an open button or register one by label/icon.