TabControl.ContentStringFormat Property    
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets a composite string that specifies how to format the contents of the TabItem objects if they are displayed as strings.
public:
 property System::String ^ ContentStringFormat { System::String ^ get(); void set(System::String ^ value); };public string ContentStringFormat { get; set; }member this.ContentStringFormat : string with get, setPublic Property ContentStringFormat As StringProperty Value
A composite string that specifies how to format the contents of the TabItem objects if they are displayed as strings.
Examples
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 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();
}
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
Remarks
ContentStringFormat can be a predefined, composite, or custom string format. For more information about string formats, see Formatting Types. If you set the ContentTemplate or ContentTemplateSelector of a TabControl, the ContentStringFormat property is ignored.