GroupStyle.HeaderStringFormat Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft eine kombinierte Zeichenfolge ab, die angibt, wie der Header formatiert werden soll, wenn er als Zeichenfolge angezeigt wird, oder legt diese fest.
public:
property System::String ^ HeaderStringFormat { System::String ^ get(); void set(System::String ^ value); };
public string HeaderStringFormat { get; set; }
member this.HeaderStringFormat : string with get, set
Public Property HeaderStringFormat As String
Eigenschaftswert
Eine kombinierte Zeichenfolge, die die Formatierung des Headers für die Anzeige als Zeichenfolge angibt.
Beispiele
Im folgenden Beispiel wird eine ListBox erstellt, die eine Auflistung von Elementen nach Preisbereich gruppiert. Der Konverter GroupByPrice
gibt einen ganzzahligen Wert zurück, der über dem Preis jedes Elements liegt. Wenn der Preis eines Elements beispielsweise zwischen 0 und 100 liegt, gibt der Konverter 100 zurück. Im Beispiel wird verwendet, HeaderStringFormat um eine Zeichenfolge zu erstellen, die die Obergrenze für jeden Preisbereich enthält. Im USA werden beispielsweise Elemente, die unter 100 Dollar liegen, unter einer Überschrift gruppiert, die "Elemente unter 100 USD" enthält.
<StackPanel>
<StackPanel.Resources>
<src:ItemsForSale x:Key="MyData"/>
<src:GroupByPrice x:Key="GroupByPrice"/>
<CollectionViewSource x:Key="PriceGroup" Source="{StaticResource MyData}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Price"
Converter="{StaticResource GroupByPrice}"/>
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
</StackPanel.Resources>
<ListBox ItemsSource="{Binding Source={StaticResource PriceGroup}}"
DisplayMemberPath="Description">
<ListBox.GroupStyle>
<GroupStyle HeaderStringFormat="Items under {0:c}"/>
</ListBox.GroupStyle>
</ListBox>
</StackPanel>
Das folgende Beispiel zeigt die GroupByPrice
-Klasse, die PurchaseItem
-Klasse und die Auflistung, an die gebunden ListBox ist.
// The converter to group the items.
public class GroupByPrice : IValueConverter
{
public object Convert(object value,
Type targetType,
object parameter,
System.Globalization.CultureInfo culture)
{
if (!(value is double))
{
return null;
}
double itemPrice = (double)value;
if (itemPrice < 100)
{
return 100;
}
if (itemPrice < 250)
{
return 250;
}
if (itemPrice < 500)
{
return 500;
}
return 1000;
}
public object ConvertBack(object value,
Type targetType,
object parameter,
System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
// The type of objects that are added to the ItemsControl.
public class PurchaseItem
{
public string Description { get; set; }
public double Price { get; set; }
public DateTime OfferExpires { get; set; }
public PurchaseItem()
{
}
public PurchaseItem(string desc, double price, DateTime endDate)
{
Description = desc;
Price = price;
OfferExpires = endDate;
}
public override string ToString()
{
return String.Format("{0}, {1:c}, {2:D}", Description, Price, OfferExpires);
}
}
// The source of the ItemsControl.
public class ItemsForSale : ObservableCollection<PurchaseItem>
{
public ItemsForSale()
{
Add((new PurchaseItem("Snowboard and bindings", 120, new DateTime(2009, 1, 1))));
Add((new PurchaseItem("Inside C#, second edition", 10, new DateTime(2009, 2, 2))));
Add((new PurchaseItem("Laptop - only 1 year old", 499.99, new DateTime(2009, 2, 28))));
Add((new PurchaseItem("Set of 6 chairs", 120, new DateTime(2009, 2, 28))));
Add((new PurchaseItem("My DVD Collection", 15, new DateTime(2009, 1, 1))));
Add((new PurchaseItem("TV Drama Series", 39.985, new DateTime(2009, 1, 1))));
Add((new PurchaseItem("Squash racket", 60, new DateTime(2009, 2, 28))));
}
}
' The converter to group the items.
Public Class GroupByPrice
Implements IValueConverter
Public Function Convert(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.Convert
If Not(TypeOf value Is Double) Then
Return Nothing
End If
Dim itemPrice As Double = CDbl(value)
If itemPrice < 100 Then
Return 100
End If
If itemPrice < 250 Then
Return 250
End If
If itemPrice < 500 Then
Return 500
End If
Return 1000
End Function
Public Function ConvertBack(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
Throw New NotImplementedException()
End Function
End Class
' The type of objects that are added to the ItemsControl.
Public Class PurchaseItem
Public Property Description() As String
Public Property Price() As Double
Public Property OfferExpires() As Date
Public Sub New()
End Sub
Public Sub New(ByVal desc As String, ByVal price As Double, ByVal endDate As Date)
Description = desc
Me.Price = price
OfferExpires = endDate
End Sub
Public Overrides Function ToString() As String
Return String.Format("{0}, {1:c}, {2:D}", Description, Price, OfferExpires)
End Function
End Class
' The source of the ItemsControl.
Public Class ItemsForSale
Inherits ObservableCollection(Of PurchaseItem)
Public Sub New()
Add((New PurchaseItem("Snowboard and bindings", 120, New Date(2009, 1, 1))))
Add((New PurchaseItem("Inside VB, second edition", 10, New Date(2009, 2, 2))))
Add((New PurchaseItem("Laptop - only 1 year old", 499.99, New Date(2009, 2, 28))))
Add((New PurchaseItem("Set of 6 chairs", 120, New Date(2009, 2, 28))))
Add((New PurchaseItem("My DVD Collection", 15, New Date(2009, 1, 1))))
Add((New PurchaseItem("TV Drama Series", 39.985, New Date(2009, 1, 1))))
Add((New PurchaseItem("Squash racket", 60, New Date(2009, 2, 28))))
End Sub
End Class
Hinweise
HeaderStringFormat kann ein vordefiniertes, zusammengesetztes oder benutzerdefiniertes Zeichenfolgenformat sein. Weitere Informationen zu Zeichenfolgenformaten finden Sie unter Formatierungstypen. Wenn Sie die HeaderTemplate - oder HeaderTemplateSelector -Eigenschaft eines GroupStylefestlegen, wird die HeaderStringFormat -Eigenschaft ignoriert.