HeaderedContentControl.HeaderStringFormat Propriedade

Definição

Obtém ou define uma cadeia de caracteres de composição que especifica como formatar a propriedade Header, se ela for exibida como uma cadeia de caracteres.

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

Valor da propriedade

Uma cadeia de caracteres de composição que especifica como formatar a propriedade Header, se ela for exibida como uma cadeia de caracteres. O padrão é null.

Atributos

Exemplos

O exemplo a seguir associa um TabControl a uma coleção de Student objetos. A Student classe tem uma Name propriedade, uma coleção de Course objetos e implementa o IFormattable.ToString método para retornar o Name do aluno ou uma cadeia de caracteres que lista os cursos do aluno. O exemplo usa para colocar o Header nome de um aluno no de cada TabItem (que herda de HeaderedContentControl), e o TabControl.ContentStringFormat para exibir a lista de cursos HeaderStringFormat para cada aluno no Conteúdo do 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>

O exemplo a seguir implementa o IFormattable.ToString método para retornar o Name do aluno ou uma cadeia de caracteres que lista os cursos do aluno.

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

Comentários

HeaderStringFormat pode ser um formato de cadeia de caracteres predefinido, composto ou personalizado. Para obter mais informações sobre formatos de cadeia de caracteres, consulte Tipos de formatação. Se você definir a HeaderTemplate propriedade ou HeaderTemplateSelector de um HeaderedContentControl, a HeaderStringFormat propriedade será ignorada.

Informações da propriedade de dependência

Campo Identificador HeaderStringFormatProperty
Propriedades de metadados definidas como true Nenhum

Aplica-se a