GroupStyle Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Definieert hoe u de groep op elk niveau wilt bekijken.
public ref class GroupStyle : System::ComponentModel::INotifyPropertyChanged
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
public class GroupStyle : System.ComponentModel.INotifyPropertyChanged
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
type GroupStyle = class
interface INotifyPropertyChanged
Public Class GroupStyle
Implements INotifyPropertyChanged
- Overname
-
GroupStyle
- Kenmerken
- Implementeringen
Voorbeelden
In de volgende voorbeelden ziet u een ItemsControl inhoud die afhankelijk is van een XmlDataProvider en de inhoud achter de code die de logica bevat voor het toevoegen en verwijderen van groeperingen. Wanneer het selectievakje is ingeschakeld, wordt de inhoud van het ItemsControl kenmerk gegroepeerd Type .
Elke groep is van het type CollectionViewGroup. De GroupStyleHeaderTemplate waarde wordt opgegeven, zodat deze wordt weergegeven als een TextBlockName weergave van elke groep. In dit geval is het Name of WorkHome.
<Window x:Class="GroupingSample.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Grouping Sample"
Width="220" Height="550">
<StackPanel>
<StackPanel.Resources>
<XmlDataProvider x:Key="myTasks" XPath="Tasks/Task">
<x:XData>
<Tasks xmlns="">
<Task Name="Groceries" Priority="2" Type="Home">
<Description>Pick up Groceries and Detergent</Description>
</Task>
<Task Name="Laundry" Priority="2" Type="Home">
<Description>Do Laundry</Description>
</Task>
<Task Name="Email" Priority="1" Type="Work">
<Description>Email Clients</Description>
</Task>
<Task Name="Clean" Priority="3" Type="Work">
<Description>Clean my office</Description>
</Task>
<Task Name="Dinner" Priority="1" Type="Home">
<Description>Get ready for family reunion</Description>
</Task>
<Task Name="Proposals" Priority="2" Type="Work">
<Description>Review new budget proposals</Description>
</Task>
</Tasks>
</x:XData>
</XmlDataProvider>
</StackPanel.Resources>
<TextBlock Margin="12,5,5,0" FontSize="20" Text="My Task List"/>
<CheckBox Margin="10,5,5,10" Checked="AddGrouping"
Unchecked="RemoveGrouping">Group by task type</CheckBox>
<ItemsControl Margin="10" Name="myItemsControl"
ItemsSource="{Binding Source={StaticResource myTasks}}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<DataTemplate.Resources>
<Style TargetType="TextBlock">
<Setter Property="FontSize" Value="18"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
</Style>
</DataTemplate.Resources>
<Grid>
<Ellipse Fill="Silver"/>
<StackPanel>
<TextBlock Margin="3,3,3,0"
Text="{Binding XPath=@Name}"/>
<TextBlock Margin="3,0,3,7"
Text="{Binding XPath=@Priority}"/>
</StackPanel>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Control.Width" Value="100"/>
<Setter Property="Control.Margin" Value="5"/>
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock FontWeight="Bold" FontSize="15"
Text="{Binding Path=Name}"/>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ItemsControl.GroupStyle>
</ItemsControl>
</StackPanel>
</Window>
using System;
using System.Windows;
using System.Windows.Data;
namespace GroupingSample
{
public partial class Window1 : System.Windows.Window
{
public Window1()
{
InitializeComponent();
}
CollectionView myView;
private void AddGrouping(object sender, RoutedEventArgs e)
{
myView = (CollectionView)CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource);
if (myView.CanGroup)
{
PropertyGroupDescription groupDescription
= new PropertyGroupDescription("@Type");
myView.GroupDescriptions.Add(groupDescription);
}
else
{
return;
}
}
private void RemoveGrouping(object sender, RoutedEventArgs e)
{
myView = (CollectionView)CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource);
myView.GroupDescriptions.Clear();
}
}
}
Imports System.Windows
Imports System.Windows.Data
Namespace GroupingSample
Partial Public Class Window1
Inherits System.Windows.Window
Public Sub New()
InitializeComponent()
End Sub
Private myView As CollectionView
Private Sub AddGrouping(ByVal sender As Object, ByVal e As RoutedEventArgs)
myView = CType(CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource), CollectionView)
If myView.CanGroup = True Then
Dim groupDescription As New PropertyGroupDescription("@Type")
myView.GroupDescriptions.Add(groupDescription)
Else
Return
End If
End Sub
Private Sub RemoveGrouping(ByVal sender As Object, ByVal e As RoutedEventArgs)
myView = CType(CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource), CollectionView)
myView.GroupDescriptions.Clear()
End Sub
End Class
End Namespace
Constructors
| Name | Description |
|---|---|
| GroupStyle() |
Initialiseert een nieuw exemplaar van de GroupStyle klasse. |
Velden
| Name | Description |
|---|---|
| DefaultGroupPanel |
Identificeert de standaardinstelling ItemsPanelTemplate waarmee het deelvenster wordt gemaakt dat wordt gebruikt om de items in te delen. |
Eigenschappen
| Name | Description |
|---|---|
| AlternationCount |
Hiermee wordt het aantal afwisselende GroupItem objecten opgehaald of ingesteld. |
| ContainerStyle |
Hiermee haalt u de stijl op die wordt toegepast op het GroupItem gegenereerde item of stelt u deze in. |
| ContainerStyleSelector |
Hiermee kan de schrijver van de toepassing aangepaste selectielogica bieden voor een stijl die op elke gegenereerde GroupItemstijl kan worden toegepast. |
| Default |
Hiermee haalt u de standaardstijl van de groep op. |
| HeaderStringFormat |
Hiermee wordt een samengestelde tekenreeks opgehaald of ingesteld die aangeeft hoe de header moet worden opgemaakt als deze wordt weergegeven als een tekenreeks. |
| HeaderTemplate |
Hiermee haalt u de sjabloon op die wordt gebruikt om de groepskoptekst weer te geven. |
| HeaderTemplateSelector |
Hiermee kan de schrijver van de toepassing aangepaste selectielogica opgeven voor een sjabloon die wordt gebruikt om de groepskoptekst weer te geven. |
| HidesIfEmpty |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of items die overeenkomen met lege groepen moeten worden weergegeven. |
| Panel |
Hiermee haalt u een sjabloon op waarmee het deelvenster wordt gemaakt dat wordt gebruikt om de items in te delen. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| OnPropertyChanged(PropertyChangedEventArgs) |
Hiermee wordt de PropertyChanged gebeurtenis gegenereerd met behulp van de opgegeven argumenten. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
gebeurtenis
| Name | Description |
|---|---|
| PropertyChanged |
Treedt op wanneer een eigenschapswaarde wordt gewijzigd. |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| INotifyPropertyChanged.PropertyChanged |
Treedt op wanneer een eigenschapswaarde wordt gewijzigd. |