GroupStyle Klas

Definitie

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.

Van toepassing op

Zie ook