Как полностью привязать listbox через XAML.
Привет после долгого времени, когда я начал работать в wpf, я борюсь с заполнением списка через полную привязку XAML ниже приведен мой код.
Вот моя коллекция класс
<pre>namespace WPFInterview { public class Collection { public IEnumerable<Person> _collection{get; set;} public Collection() { FillObservableCollection(); } private void FillObservableCollection() { _collection = new ObservableCollection<Person> { new Person { Name = "Ram", Age = 10 }, new Person { Name = "Shyam", Age = 11 }, new Person { Name = "Raju", Age = 13 } }; // lstMy.ItemsSource = _collection; } public class Person { public string Name { get; set; } public int Age { get; set; } } } }
Вот мой XAML код с привязкой
<Window x:Class="WPFInterview.BindingElement" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:WPFInterview" Title="BindingElement" Height="300" Width="300"> <Window.DataContext> <local:Collection/> </Window.DataContext> <Canvas> <ListBox Name="lstMy" HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" Canvas.Left="67" Canvas.Top="65" ItemsSource="{Binding _collection}"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel> <TextBlock Text="{Binding Name}"/> <TextBlock Text="{Binding Age}"/> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </Canvas> </Window>
Я не в состоянии poupulate listbox
Что я уже пробовал:
Да, я пытался, но не смог заселить.
[no name]
Вам нужно реализовать INotifyPropertyChanged
rameshKumar1717
Вышеописанное решение тоже работает, как я понял позже.