HeaderedContentControl.HeaderStringFormat Свойство

Определение

Возвращает или задает составную строку, которая определяет форматирование свойства Header, если оно отображается как строка.

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

Значение свойства

String

Составная строка, которая определяет форматирование свойства Header, если оно отображается как строка. Значение по умолчанию — null.

Атрибуты

Примеры

В следующем примере выполняется привязка TabControl объекта к коллекции Student объектов. Класс Student имеет Name свойство, коллекцию Course объектов и реализует метод для возврата учащегося Name или строки, которая перечисляет IFormattable.ToString курсы учащегося. В примере показано HeaderStringFormat , как поместить имя учащегося в Header каждое TabItem (наследуемое от HeaderedContentControl), а TabControl.ContentStringFormat также отобразить список курсов для каждого учащегося в содержимом объекта 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>

В следующем примере метод реализуется IFormattable.ToString для возврата Name учащегося или строки, включающего курсы учащихся.

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

Комментарии

HeaderStringFormat может быть предопределенным, составным или настраиваемым форматом строки. Дополнительные сведения о строковых форматах см. в разделе "Типы форматирования". Если задано HeaderTemplate свойство или HeaderTemplateSelector свойство, HeaderedContentControlHeaderStringFormat свойство игнорируется.

Сведения о свойстве зависимостей

Поле идентификатора HeaderStringFormatProperty
Metadata properties set to true Нет

Применяется к