KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a sorted listbox and need to display each item's row number. In this demo I have a Person class with a Name string property. The listbox displays a a list of Persons sorted by Name. How can I add to the datatemplate of the listbox the row number??? XAML: <Window x:Class="NumberedListBox.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="300" Width="300"> <ListBox ItemsSource="{Binding Path=PersonsListCollectionView}" HorizontalContentAlignment="Stretch"> <ListBox.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Path=Name}" /> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </Window> Code behind: using System; using System.Collections.ObjectModel; using System.Windows.Data; using System.Windows; using System.ComponentModel; namespace NumberedListBox { public partial class Window1 : Window { public Window1() { InitializeComponent(); Persons = new ObservableCollection<Person>(); Persons.Add(new Person() { Name = "Sally"}); Persons.Add(new Person() { Name = "Bob" }); Persons.Add(new Person() { Name = "Joe" }); Persons.Add(new Person() { Name = "Mary" }); PersonsListCollectionView = new ListCollectionView(Persons); PersonsListCollectionView.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending)); DataContext = this; } public ObservableCollection<Person> Persons { get; private set; } public ListCollectionView PersonsListCollectionView { get; private set; } } public class Person { public string Name { get; set; }
Tags (comma-separated)
Save Edits
Cancel