Good spot. That was a bug in the designer, not in the control itself, and you were reading the documentation correctly.
RadioButtonGroup has always supported being empty at runtime: New RadioButtonGroup creates a group with no rows, RemoveAllRows() leaves it empty, and RowCount returns 0. The designer, however, seeded every new RadioButtonGroup with a default row ("Item 0") and then refused to let you delete the last remaining row, so there was no way to reach that empty state in the designer, even though the preview and generated code both handled empty groups correctly. The other row-based controls (PopupMenu, ListBox, ComboBox) never had this restriction.
Fixed for the next Studio release:
- The Inspector's Rows editor now lets you delete the last row, with undo/redo support.
- A newly added RadioButtonGroup starts empty, like PopupMenu and ListBox.
- The designer preview shows a disabled "RadioButtonGroup" placeholder when the group has no rows.
- A group with no rows generates no
AddRow calls, so you can place an empty group and populate it in code, for example in the window's Opening event.
https://feedback.objo.dev/bug/1346