This documentation is archived and is not being maintained.

HeaderedContentControl.HeaderStringFormat Property

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

'Declaration
<BindableAttribute(True)> _
Public Property HeaderStringFormat As String
<object HeaderStringFormat="string" .../>

Property Value

Type: System.String
A composite string that specifies how to format the Header property if it is displayed as a string. The default is Nothing.

Identifier field

HeaderStringFormatProperty

Metadata properties set to true

None

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 Overloads Function ToString(ByVal format As String, ByVal formatProvider As IFormatProvider) As String Implements IFormattable.ToString
			' 'n': print the name only.
			If format = "n" Then
				Return Name
			End If

			' 'cl': print the course list.
			If format = "cl" Then
				Dim stringFormat As String = "{0,-25}{1,-30}{2,-10}" & vbCrLf

				Dim str As New StringBuilder()

				str.AppendLine()
				str.AppendFormat(stringFormat, "Title", "Description", "ID")
				str.AppendLine()

				For Each c As Course In Courses
					str.AppendFormat(stringFormat, c.Title, c.Description, c.SectionID)
				Next c

				Return str.ToString()
			End If

			Return Me.ToString()
		End Function


.NET Framework

Supported in: 4, 3.5 SP1, 3.0 SP2

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: