Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

ItemsControl.Items-Eigenschaft

Ruft die Auflistung ab, mit der der Inhalt des ItemsControl generiert wird.

Namespace:  System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS für XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
[BindableAttribute(true)]
public ItemCollection Items { get; }
<object>
  OneOrMoreElements
</object>

XAML-Werte

OneOrMoreElements

Ein oder mehrere UIElement-Objekte.

Eigenschaftswert

Typ: System.Windows.Controls.ItemCollection
Die Auflistung, mit der der Inhalt des ItemsControl generiert wird. Der Standardwert ist eine leere Auflistung.

Diese Eigenschaft kann für das Hinzufügen von Elementen zu einem ItemsControl-Element verwendet werden. Durch Hinzufügen eines untergeordneten Elements zu einem ItemsControl-Objekt wird dieses implizit der ItemCollection des ItemsControl-Objekts hinzugefügt.

Hinweis Hinweis

Diese Eigenschaft kann in Extensible Application Markup Language (XAML) nur festgelegt werden, indem die dargestellte Auflistungssyntax verwendet oder auf das Auflistungsobjekt zugegriffen und dessen verschiedene Methoden verwendet werden, z. B. Add. Die Eigenschaft für den Zugriff auf das Auflistungsobjekt ist schreibgeschützt, während für die Auflistung Lesen und Schreiben zulässig sind.

Beachten Sie, dass Sie die Items-Eigenschaft oder die ItemsSource-Eigenschaft verwenden können, um die Auflistung anzugeben, die zum Generieren des Inhalts des ItemsControl verwendet werden soll. Wenn die ItemsSource-Eigenschaft festgelegt wurde, wird die Items-Auflistung schreibgeschützt und mit fester Größe verwendet.

Wenn ItemsSource verwendet wird, wird die Auflistung durch Festlegen der ItemsSource-Eigenschaft auf null entfernt, und die Verwendung von Items wird wiederhergestellt, das eine leere ItemCollection ist.

In den folgenden Beispielen werden Bindungsdaten für ein ItemsControl-Objekt veranschaulicht. Im ersten Beispiel wird eine Klasse mit dem Namen MyData erstellt, bei der es sich um eine einfache Zeichenfolgenauflistung handelt.


public class MyData : ObservableCollection<string>
{
    public MyData()
    {
        Add("Item 1");
        Add("Item 2");
        Add("Item 3");
    }
}


Im folgenden Beispiel wird das ItemsSource-Objekt eines ItemsControl-Elements an MyData gebunden.

<!--Create an instance of MyData as a resource.--><src:MyDatax:Key="dataList"/>


...


<ListBoxItemsSource="{Binding Source={StaticResource dataList}}"/>

ListBox listBox1 = new ListBox();
MyData listData = new MyData();
Binding binding1 = new Binding();

binding1.Source = listData;
listBox1.SetBinding(ListBox.ItemsSourceProperty, binding1);


In der vorherigen Abbildung ist das im vorherigen Beispiel erstellte ListBox-Steuerelement dargestellt.

ListBox

Im folgenden Beispiel wird veranschaulicht, wie ein ItemsControl-Element durch die Verwendung der Items-Eigenschaft aufgefüllt wird. Im folgenden Beispiel werden dem ListBox-Element die folgenden verschiedenen Typen hinzugefügt.

<!--Create a ListBox that contains a string, a Rectangle,
     a Panel, and a DateTime object. These items can be accessed
     via the Items property.--><ListBoxxmlns:sys="clr-namespace:System;assembly=mscorlib"Name="simpleListBox"><!-- The <ListBox.Items> element is implicitly used.-->
  This is a string in a ListBox

  <sys:DateTime>2004/3/4 13:6:55</sys:DateTime><RectangleHeight="40"Width="40"Fill="Blue"/><StackPanelName="itemToSelect"><EllipseHeight="40"Fill="Blue"/><TextBlock>Text below an Ellipse</TextBlock></StackPanel><TextBlock>String in a TextBlock</TextBlock><!--</ListBox.Items>--></ListBox>
// Add a String to the ListBox.
listBox1.Items.Add("This is a string in a ListBox");

// Add a DateTime object to a ListBox.
DateTime dateTime1 = new DateTime(2004, 3, 4, 13, 6, 55);

listBox1.Items.Add(dateTime1);

// Add a Rectangle to the ListBox.
Rectangle rect1 = new Rectangle();
rect1.Width = 40;
rect1.Height = 40;
rect1.Fill = Brushes.Blue;
listBox1.Items.Add(rect1);

// Add a panel that contains multpile objects to the ListBox.
Ellipse ellipse1 = new Ellipse();
TextBlock textBlock1 = new TextBlock();

ellipse1.Width = 40;
ellipse1.Height = 40;
ellipse1.Fill = Brushes.Blue;

textBlock1.TextAlignment = TextAlignment.Center;
textBlock1.Text = "Text below an Ellipse";

stackPanel1.Children.Add(ellipse1);
stackPanel1.Children.Add(textBlock1);

listBox1.Items.Add(stackPanel1);


In der folgenden Abbildung ist das im vorherigen Beispiel erstellte ListBox-Element dargestellt.

ListBox mit vier Inhaltstypen

Beachten Sie, dass die ItemCollection eine Ansicht ist und Sie daher auch die Ansichtsfunktionen wie Sortieren, Filtern und Gruppieren verwenden können.

Wenn Sie z. B. die Instanz myListBox einer ListBox verwenden, können Sie den Inhalt der ListBox folgendermaßen sortieren. In diesem Beispiel ist Content der Name der Eigenschaft, nach der sortiert werden soll.


myListBox.Items.SortDescriptions.Add(
    new SortDescription("Content", ListSortDirection.Descending));


Beachten Sie Folgendes: Wenn Sie diesen Vorgang ausführen und das Steuerelement direkt an eine Auflistung gebunden ist, wird die Standardauflistungsansicht verwendet, und die Sortierkriterien werden auf alle anderen Steuerelemente angewendet, die direkt an die Auflistung gebunden sind. Die Ansicht ist nicht die Standardansicht, wenn die ItemsSource-Eigenschaft an eine CollectionViewSource gebunden ist.

Wenn das ItemsControl direkt an eine Auflistung gebunden ist, können Sie Folgendes ausführen, um die Standardansicht zu erhalten:


CollectionView myView;


...


myView = (CollectionView)CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource);


Sie können die Kriterien für das Filtern, Sortieren und Gruppieren in XAML oder in Code auch angeben, indem Sie eine CollectionViewSource verwenden.

.NET Framework

Unterstützt in: 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ