Generally any Font setting in a RadControl can be defined through theme. This breaks the inheritance with any of the Parent RadElement and eventually Control's parent. Note that RadElements support property value inheritance for some properties like Font, ForeColor, BackColor. This feature resembles controls' ambient properties. RootElement inherits its properties from the corresponding RadControl properties. In the case of RadGridView, header cell's Font would not inherit any values, since it is set through theme.
You can test where any property of any RadElement gets its value from, using RadControlSpy, by right-clicking the property name in the property grid:
The easiest solution in the case wth RadGridView header (or any other cells) would be to set the Font you need in the ViewCellFormatiing event:
|private void radGridView1_ViewCellFormatting(object sender, Telerik.WinControls.UI.CellFormattingEventArgs e)
| if (e.CellElement is GridHeaderCellElement)
| e.CellElement.Font = this.Font;
(assuming "this" is the form).
If the you need the font to change dynamically (if form's font changes) you should though update the header row:
I have attached a sample that demonstrates the approach:
the Telerik team