Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

TabControl.ContentStringFormat Property

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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)

public string ContentStringFormat { get; set; }

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 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();
}

.NET Framework
Available since 3.0
Return to top
Show:
© 2018 Microsoft