Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ItemsControl.ItemTemplateSelector-Eigenschaft

 

Veröffentlicht: Oktober 2016

Ruft die benutzerdefinierte Logik für das Auswählen einer Vorlage ab, die zum Anzeigen der einzelnen Elemente verwendet wird, oder legt diese fest.

Namespace:   System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)

[BindableAttribute(true)]
public DataTemplateSelector ItemTemplateSelector { get; set; }

Eigenschaftswert

Type: System.Windows.Controls.DataTemplateSelector

Ein benutzerdefiniertes DataTemplateSelector-Objekt, das Logik bereitstellt und eine DataTemplate zurückgibt. Die Standardwert ist null.

Verwenden Sie die ItemTemplate um die Visualisierung der Datenobjekte anzugeben. Wenn Sie mehrere Vorlagen definiert haben und Logik zum Zurückgeben einer Vorlage bereitstellen möchten, verwenden Sie diese Eigenschaft. Beachten Sie, dass diese Eigenschaft ignoriert wird, wenn ItemTemplate festgelegt ist.

Die ItemsControl bietet eine umfassende Flexibilität bei der visuellen Anpassung und stellt eine Vielzahl von Formaten und Vorlagen bereit. Verwenden der ItemContainerStyle Eigenschaft oder die ItemContainerStyleSelector Eigenschaft, um ein Format festzulegen, die die Darstellung der Elemente angibt, die Datenelemente enthalten. Z. B. für ListBox, sind die generierten Container ListBoxItem steuert; für ComboBox, sie sind ComboBoxItem Steuerelemente. Um das Layout der Elemente zu beeinflussen, verwenden Sie die ItemsPanel Eigenschaft. Wenn Sie die Gruppierung für das Steuerelement verwenden, können Sie mithilfe der GroupStyle oder GroupStyleSelector Eigenschaft.

Weitere Informationen finden Sie unter Übersicht über Datenvorlagen.

<object ItemTemplateSelector="ResourceExtension SelectorResourceKey"/>

ResourceExtension

Einer der folgenden: StaticResource, oder DynamicResource. Wenn die Formate sich Verweise auf potenzielle Laufzeitverweise wie Systemressourcen oder Benutzervoreinstellungen, enthalten StaticResource Verweis auf ein Format wird in der Regel aus Leistungsgründen empfohlen.

SelectorResourceKey

x:Key String-Wert verweist auf die Auswahl, die als Ressource angefordert wird.

Feld-ID

ItemTemplateSelectorProperty

Festgelegte Metadateneigenschaften true

NONE

Im folgenden Beispiel der auctionItemDataTemplateSelector Ressourcenname (entspricht einer AuctionItemDataTemplateSelector Klasse) zugewiesen ist der ItemTemplateSelector Eigenschaft der ItemsControl.

<ItemsControl 
   Template="{StaticResource ScrollTemplate}" 
   ItemsSource="{Binding Source={StaticResource items_list}}"
   ItemTemplateSelector="{StaticResource auctionItemDataTemplateSelector}" >
   <ItemsControl.ItemsPanel>
      <ItemsPanelTemplate>
         <StackPanel />
      </ItemsPanelTemplate>
   </ItemsControl.ItemsPanel>
</ItemsControl>

Das folgende Beispiel zeigt die Implementierung der AuctionItemDataTemplateSelector Klasse mit einer Überschreibung der die SelectTemplateMethode:

using System.Windows;
using System.Windows.Controls;

namespace SDKSample
{
    public class AuctionItemDataTemplateSelector : DataTemplateSelector
    {
        public override DataTemplate 
            SelectTemplate(object item, DependencyObject container)
        {
            FrameworkElement element = container as FrameworkElement;

            if (element != null && item != null && item is AuctionItem)
            {
                AuctionItem auctionItem = item as AuctionItem;
                Window window = Application.Current.MainWindow;

                switch (auctionItem.SpecialFeatures)
                {
                    case SpecialFeatures.None:
                        return 
                            element.FindResource("AuctionItem_None") 
                            as DataTemplate;
                    case SpecialFeatures.Color:
                        return 
                            element.FindResource("AuctionItem_Color") 
                            as DataTemplate;
                }
            }

            return null;
        }
    }


}

In diesem Fall in der SelectTemplate Methode der Klasse Logik vorhanden ist, zum Zurückgeben der entsprechenden Vorlage anhand des Werts von der SpecialFeatures Eigenschaft der item übergebene Objekt. Die Vorlage, die zurückgegeben befindet sich in den Ressourcen des umschließenden Window Element.

Beim Festlegen der ItemTemplateSelector -Eigenschaft, die ItemsControl wird angewiesen, die automatisch die SelectTemplate Methode der AuctionItemDataTemplateSelector für jedes der Elemente in der Auflistung, die die ItemsControl gebunden ist. Der Aufruf wird das Datenelement als Objekt übergeben. Die DataTemplate der zurückgegeben wird, indem die Methode wird dann verwendet, um dieses Datenelement anzuzeigen.

Ein weiteres Beispiel finden Sie unter Übersicht über Datenvorlagen.

.NET Framework
Verfügbar seit 3.0
Zurück zum Anfang
Anzeigen: