HeaderedContentControl.HeaderStringFormat Property
[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]
Gets or sets a composite string that specifies how to format the Header property if it is displayed as a string.
Namespace: System.Windows.Controls
Assembly: PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
<object HeaderStringFormat="string" .../>
Property Value
Type: System.StringA composite string that specifies how to format the Header property if it is displayed as a string. The default is null.
HeaderStringFormat can be a predefined, composite, or custom string format. For more information about string formats, see Formatting Types. If you set the HeaderTemplate or HeaderTemplateSelector property of a HeaderedContentControl, the HeaderStringFormat property is ignored.
The following example binds a TabControl to a collection of Student objects. The Student class has a Name property, a collection of Course objects, and implements the IFormattable.ToString method to return either the Name of the student or a string that lists the student's courses. The example uses HeaderStringFormat to put a student's name in the Header of each TabItem (which inherits from HeaderedContentControl), and the TabControl.ContentStringFormat to display the course list for each student in the Content of the TabItem.
<Grid> <Grid.Resources> <src:Students x:Key="Students"/> <Style TargetType="TabItem"> <Setter Property="HeaderStringFormat" Value="n"/> <Setter Property="FontFamily" Value="Lucida Sans Unicode"/> <Setter Property="Foreground" Value="Green"/> <Setter Property="FontWeight" Value="Bold"/> </Style> </Grid.Resources> <TabControl ItemsSource="{StaticResource Students}" FontFamily="Lucida Console" Foreground="Navy" ContentStringFormat="cl"/> </Grid>
The following example implements the IFormattable.ToString method to return either the Name of the student or a string that lists the student's courses.
public string ToString(string format, IFormatProvider formatProvider) { // 'n': print the name only. if (format == "n") { return Name; } // 'cl': print the course list. if (format == "cl") { string stringFormat = "{0,-25}{1,-30}{2,-10}\r\n"; StringBuilder str = new StringBuilder(); str.AppendLine(); str.AppendFormat(stringFormat, "Title", "Description", "ID"); str.AppendLine(); foreach (Course c in Courses) { str.AppendFormat(stringFormat, c.Title, c.Description, c.SectionID); } return str.ToString(); } return this.ToString(); }
Windows 8 Consumer Preview, Windows Server 8 Beta, Windows 7, Windows Server 2008 SP2, Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.