Как выполнить итерацию коллекции в XAML, где коллекция является частью модели в классе c # - PullRequest
0 голосов
/ 20 мая 2019

Я создаю настольное приложение, используя WPF и XAML с шаблоном MVVM.У меня есть коллекция строк (сообщений об ошибках) в классе модели.Класс привязан к XAML.Мне нужно перебрать коллекцию строк, чтобы они отображались в пунктах с маркерами в представлении.

Я пробовал тег itemscontrols, но безуспешно.Он просто отображает первый элемент списка.

Я ожидал, что коллекция будет повторяться, но отображается только первый элемент коллекции.Нет сообщений об ошибках.

1 Ответ

2 голосов
/ 20 мая 2019

Обычный способ визуализации списка чего-либо в WPF / MVVM - с помощью ItemsControl:

<ItemsControl ItemsSource="{Binding MyItems}" />

Если вам не нравится представление элемента по умолчанию, вы можете переопределить шаблон элемента:

<ItemsControl ItemsSource="{Binding MyItems}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=., StringFormat={}&#8226;{0}}" />
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

Результат:

enter image description here

Вы также можете переопределить элементную панель по умолчанию, если вы хотите, чтобы элементы были расположены по-разному, т.е. WrapPanel, горизонтальная StackPanel и т. Д.

...