Megosztás a következőn keresztül:


Útmutató: Adatok rendezése nézetben

Ez a példa bemutatja, hogyan rendezhet adatokat egy nézetben.

példa

Az alábbi példa egy egyszerű ListBox és egy Buttonhoz létre:

<Window x:Class="ListBoxSort_snip.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="ListBoxSort_snip" Height="300" Width="300">
    <DockPanel>
      <ListBox Name="myListBox" DockPanel.Dock="Top">
        <ListBoxItem>my</ListBoxItem>
        <!--Or you can set the content this way:-->
        <!--<ListBoxItem Content="my"/>-->
        <ListBoxItem>1</ListBoxItem>
        <ListBoxItem>Sort</ListBoxItem>
        <ListBoxItem>3</ListBoxItem>
        <ListBoxItem>ListBox</ListBoxItem>
        <ListBoxItem>2</ListBoxItem>
      </ListBox>
      <Button Click="OnClick" Width="30" Height="20" DockPanel.Dock="Top">Sort</Button>
    </DockPanel>
</Window>

A gomb Click eseménykezelője logikát tartalmaz a ListBox elemeinek csökkenő sorrendbe rendezéséhez. Ezt azért teheti meg, mert ha elemeket ad hozzá egy ListBox-hoz így, akkor hozzáadja őket a ItemCollectionListBox-jéhez, és a ItemCollection a CollectionView osztályból származik. Ha a ListBox-át egy gyűjteményhez köti a ItemsSource tulajdonság használatával, ugyanezt a technikát használhatja a rendezéshez.

private void OnClick(object sender, RoutedEventArgs e)
{
    myListBox.Items.SortDescriptions.Add(
        new SortDescription("Content", ListSortDirection.Descending));
}
Private Sub OnClick(ByVal sender As Object, ByVal e As RoutedEventArgs)
    myListBox.Items.SortDescriptions.Add(New SortDescription("Content", ListSortDirection.Descending))
End Sub

Mindaddig, amíg hivatkozik a nézetobjektumra, ugyanezzel a módszerrel rendezheti más gyűjteménynézetek tartalmát. Hogyan kaphatunk meg egy nézetet: lásd a Az Adatgyűjtés alapértelmezett nézetének lekérésecímű részt. Egy másik példa: GridView-oszlop rendezése fejlécre kattintáskor. A nézetekről további információt az Adatkötés áttekintésecímű cikkben talál.

A rendezési logika XAML(Extensible Application Markup Language, XAML) nyelvre való alkalmazásának példáját Az XAML-nézet használatával történő rendezése és csoportosítása című témakörben talál.

Lásd még