Как связать наблюдаемую коллекцию с массивом пользовательских элементов управления? - PullRequest
3 голосов
/ 11 августа 2009

Привязка данных в WPF - это замечательно, но как только вы попытаетесь сделать вещи более сложными, их становится чрезвычайно сложно реализовать.

У меня есть коллекция объектов, где каждый объект имеет наблюдаемые свойства, связанные с пользовательским элементом управления.

Я хотел бы (в идеале) просто добавить новый объект в мою коллекцию, и чтобы в моей форме появился новый пользовательский элемент управления. Дело в том, что пользовательские элементы управления должны создаваться динамически, поэтому каждый раз, когда я добавляю в коллекцию, мне, возможно, приходится вручную создавать новый элемент управления, устанавливать привязку и добавлять его в мое окно. Существует ли более простой способ привязки MVVM к такой структуре?

1 Ответ

5 голосов
/ 11 августа 2009

Используйте ItemsControl и DataTemplate

<ItemsControl ItemsSource="{Binding YourCollection}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <uc:YourUserControl />
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>
...