Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Beispiel wird veranschaulicht, wie eine LINQ-Abfrage ausgeführt und dann an die Ergebnisse gebunden wird.
Beispiel
Im folgenden Beispiel werden zwei Listenfelder erstellt. Das erste Listenfeld enthält drei Listenelemente.
<ListBox SelectionChanged="ListBox_SelectionChanged"
SelectedIndex="0" Margin="10,0,10,0" >
<ListBoxItem>1</ListBoxItem>
<ListBoxItem>2</ListBoxItem>
<ListBoxItem>3</ListBoxItem>
</ListBox>
<ListBox Width="400" Margin="10" Name="myListBox"
HorizontalContentAlignment="Stretch"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource myTaskTemplate}"/>
Wenn Sie ein Element aus dem ersten Listenfeld auswählen, wird der folgende Ereignishandler aufgerufen. In diesem Beispiel Tasks handelt es sich um eine Auflistung von Task Objekten. Die Task Klasse hat eine Eigenschaft mit dem Namen Priority. Dieser Ereignishandler führt eine LINQ-Abfrage aus, die die Auflistung von Task Objekten zurückgibt, die den ausgewählten Prioritätswert aufweisen, und legt diese dann als :DataContext
using System.Linq;
Tasks tasks = new Tasks();
private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
int pri = Int32.Parse(((sender as ListBox).SelectedItem as ListBoxItem).Content.ToString());
this.DataContext = from task in tasks
where task.Priority == pri
select task;
}
Das zweite Listenfeld wird an diese Auflistung gebunden, da sein Wert auf ItemsSource festgelegt ist. Dadurch wird die zurückgegebene Sammlung angezeigt (basierend auf dem myTaskTemplateDataTemplate).
Siehe auch
.NET Desktop feedback