Добавление в ListBox StackPanel'ов программно

226
08 октября 2017, 21:55

Есть приложение, которое генерирует текстовые значения. Есть ListBox, в который эти значения нужно выводить, но не только значения, но еще и определенный значек, им соответствующий, который должен помещаться слева от них. Вот пример того, что должно добавляться в ListBox:

<StackPanel Orientation="Horizontal">
    <Image Source="Examplesource.jpeg"/>
    <Label Content="Сгенерированный текст" HorizontalAlignment="Left" VerticalAlignment="Top"/>
</StackPanel>

Как это сделать программно?

P.S Если кто-либо подскажет более удобный способ сделать это, то буду не против.

Answer 1

Используйте ItemTemplate и DataTemplate у ListBox для формирования разметки элементов. Шаблоны позволяют настроить практически любой вид для содержимого.

<ListBox ItemsSource="{Binding КоллекцияЭлементов}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <Image Source="Examplesource.jpeg"/>
                <Label Content="{Binding СвойствоСгенерированногоТекста}" HorizontalAlignment="Left" VerticalAlignment="Top"/>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
READ ALSO
Возвращать JSON вместо XML

Возвращать JSON вместо XML

Приветствую! Решил написать простой WEB API на С#Создал тестовую модель данных и контроллер :

189
C#. reportviewer

C#. reportviewer

Помогите пожалуйстаМожно ли в reportviewer после печати отчета с некоторыми скрытыми полями, сделать экспорт всех полей и скрытых тоже? Смысл в чем

171
С# dataGridView violation of parallelism [требует правки]

С# dataGridView violation of parallelism [требует правки]

I organized form where I want to input information about organizationI organized my communication form with database in the following way

191