MahApps.Metro adds most of its extras to the standard WPF controls through attached properties rather than by subclassing them.
A TextBox stays a TextBox; it just gains a watermark and a clear button when you ask for them.
That keeps the number of controls in the library down, lets you opt in per control, and means the features work on controls you did not write.
The classes that carry those properties are all in the MahApps.Metro.Controls namespace and all reachable through the mah: prefix:
<TextBox mah:TextBoxHelper.Watermark="Search" mah:TextBoxHelper.ClearTextButton="True" />
Two of them are worth knowing before the rest.
ControlsHelper is the general one - corner radius, focus and mouse-over borders, content casing - and applies to most input controls.
TextBoxHelper carries the watermark and the buttons, and despite its name is read by the templates of the ComboBox, DatePicker, PasswordBox, NumericUpDown and several more.
The rest are named after the one control they belong to.
A property only does something if the control's template reads it, so these work with the MahApps styles applied.
Replace a style without a BasedOn and the properties are still there but nothing looks at them.
Child Pages
CheckBoxHelper
Applies to CheckBox. It has 81 attached properties, but they are three settings and one naming scheme rather than 81 things to learn.
ComboBoxHelper
Applies to ComboBox. Two properties, both about the text an editable combo box accepts — a ComboBox has no MaxLength or CharacterCasing of its own, so these fill the gap that TextBox does not have.
ControlsHelper
The general-purpose one. Where the other helpers belong to a single control, ControlsHelper is read by the templates of ButtonBase, CheckBox, ColorPalette, ComboBox, ContentControl, DatePicker, DropDownButton, NumericUpDown, PasswordBox, RadioButton, SplitButton, TextBox, Tile and WindowCommands.
DataGridHelper
Applies to DataGrid, DataGridRow and DataGridCell. Two halves: a few properties for the look of the grid, and a set for styling the columns WPF generates for you.
DatePickerHelper
Applies to DatePicker and TimePickerBase, which covers TimePicker and DateTimePicker. All four properties describe the button that opens the calendar or clock.
ExpanderHelper
Applies to Expander. An expander's header is a ToggleButton, and which way it points depends on ExpandDirection — so the helper carries one header style per direction rather than one style.
HeaderedControlHelper
Applies to HeaderedContentControl and TabControl, which covers GroupBox, Expander, Flyout, MetroHeader and the tab strip. A HeaderedContentControl gives you a Header but no way to style it — that is what this helper is for.
ItemHelper
Applies to ListBoxItem and TreeViewItem, which through those covers ListBox, ListView, ComboBox drop-downs and TreeView. Every property is a brush for one state an item can be in.
MultiSelectorHelper
Applies to ListBox and MultiSelector, which covers ListView and DataGrid. It exists for one reason: Selector.SelectedItems is read-only, so it cannot be bound.
PasswordBoxHelper
Applies to PasswordBox. Four properties, covering the two things MahApps adds to a password box: the warning that caps lock is on, and the button that reveals what has been typed.
RadioButtonHelper
Applies to RadioButton. Like CheckBoxHelper it is three sizes plus one naming scheme for the brushes.
ScrollViewerHelper
Applies to ScrollViewer, ItemsControl and any UIElement, so it reaches a list or a grid without you having to find the scroll viewer inside it.
SliderHelper
Applies to Slider and RangeSlider. Twelve brushes for the three parts a slider is made of, plus two properties for the mouse wheel.
TabControlHelper
Applies to TabControl and TabItem. Three groups: the underline that marks the selected tab, the animation when the content changes, and closable tabs.
TextBoxHelper
The most used of the helpers, and the one whose name undersells it. Its templates are read by TextBox, PasswordBox, ComboBox, DatePicker, TimePicker, NumericUpDown, HotKeyBox, ColorPicker and ButtonBase — so the same watermark works on all of them.
ToggleButtonHelper
Applies to CheckBox and RadioButton. One property, which puts the box or the circle on the other side of the label.
TreeViewItemHelper
Applies to TreeViewItem. One property, for the little triangle that opens and closes a node.
ValidationHelper
Applies to any UIElement. Two properties, both about the popup MahApps shows next to a control whose binding failed validation.
VisibilityHelper
Applies to any UIElement. Three properties, all of them shortcuts for a BooleanToVisibilityConverter you would otherwise have to declare and reference.