HeaderStringFormat Property

HeaderedContentControl.HeaderStringFormat Property

.NET Framework (current version)
 

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)

<BindableAttribute(True)>
Public Property HeaderStringFormat As 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 null.

HeaderStringFormat can be a predefined, composite, or custom string format. For more information about string formats, see Formatting Types in the .NET Framework. If you set the HeaderTemplate or HeaderTemplateSelector property of a HeaderedContentControl, the HeaderStringFormat property is ignored.

Identifier field

HeaderStringFormatProperty

Metadata properties set to true

None

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
Available since 3.0
Return to top
Show:
© 2016 Microsoft