Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przykładzie pokazano, jak uruchomić zapytanie LINQ, a następnie powiązać je z wynikami.
Przykład
Poniższy przykład tworzy dwa pola listy. Pierwsze pole listy zawiera trzy elementy listy.
<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}"/>
Wybranie elementu z pierwszego pola listy wywołuje następującą procedurę obsługi zdarzeń. W tym przykładzie Tasks
jest to kolekcja Task
obiektów. Klasa Task
ma właściwość o nazwie Priority
. Ta procedura obsługi zdarzeń uruchamia zapytanie LINQ zwracające kolekcję Task
obiektów, które mają wybraną wartość priorytetu, a następnie ustawia je jako 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;
}
Drugie pole listy wiąże się z kolekcją, ponieważ jej ItemsSource wartość jest ustawiona na {Binding}
wartość . W rezultacie wyświetla zwróconą kolekcję (na podstawie elementu myTaskTemplate
DataTemplate).
Zobacz też
.NET Desktop feedback