HeaderedContentControl.HeaderStringFormat 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 or sets a composite string that specifies how to format the Header property if it is displayed as a string.
public:
property System::String ^ HeaderStringFormat { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.Bindable(true)]
public string HeaderStringFormat { get; set; }
[<System.ComponentModel.Bindable(true)>]
member this.HeaderStringFormat : string with get, set
Public Property HeaderStringFormat As String
Property Value
A composite string that specifies how to format the Header property if it is displayed as a string. The default is null
.
- Attributes
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 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 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
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.
Dependency Property Information
Identifier field | HeaderStringFormatProperty |
Metadata properties set to true |
None |