Как создать Поле списка динамично wpf

Я хочу создать поле списка динамично [codebehind c#]. Его источник данных является объектом класса.

class sample
{
  string filepath;
  string id;
  string trackName;
}

Потребности:

  1. Отобразите trackName как объект поля списка в поле списка [динамично].

Код:

sample samp=GetBL.GetValue();
ListBox lbTrack = new ListBox();
StackPanel sp = new StackPanel();
lbTrack.ItemSource = samp;

Geetha.

1
задан Geeth 12 July 2010 в 04:59
поделиться

1 ответ

Создайте класс, который предоставляет ObservableCollection как свойство с именем, скажем, Samples . Создайте экземпляр этого класса, заполните его коллекцию и добавьте класс в словарь ресурсов окна с ключом, скажем, Data .Переопределите ToString () в классе sample , чтобы он возвращал то, что вы хотите отобразить в ListBox .

Затем сделайте следующее:

<ListBox ItemsSource="{StaticResource Data, Path=Samples}"/>

Без переопределения ToString () , вы можете указать привязку отображения:

<ListBox ItemSource="{StaticResource Data, Path=Samples}" 
         DisplayMemberBinding="{Binding Path=trackName"/>

Обратите внимание, что trackName должно быть свойством, а не полем.

Вы заметите, что я не создаю элементы управления WPF программно, а вместо этого использую привязку данных, чтобы сделать это за себя. Это важная фундаментальная концепция разработки приложений WPF.

2
ответ дан 2 September 2019 в 23:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: