TabControl.ContentStringFormat Property

Gets a composite string that specifies how to format the contents of the TabItem objects if they are displayed as strings.

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
Public Property ContentStringFormat As String
<object ContentStringFormat="string" .../>

Property Value

Type: System.String
A composite string that specifies how to format the contents of the TabItem objects if they are displayed as strings.

ContentStringFormat 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 ContentTemplate or ContentTemplateSelector of a TabControl, the ContentStringFormat 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 HeaderedContentControl.HeaderStringFormat to put a student's name in the Header of each TabItem (which inherits from HeaderedContentControl), and the 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.6, 4.5, 4, 3.5 SP1, 3.0 SP2

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft