Silverlight mvvm динамическое управление - PullRequest
1 голос
/ 23 июня 2011

Как динамически создавать элементы управления в шаблоне mvvm?

Код, который я пытаюсь перенести:

  • Родительский элемент управления:

    ObservableCollectionHistory = new ObservableCollection ();

    private void Save_Click (отправитель объекта, RoutedEventArgs e) {ChildControl cc = new ChildControl ();History.Add (сс);}

Ответы [ 2 ]

0 голосов
/ 29 ноября 2011

Предполагая, что "ChildControl" происходит от UserControl, XAML от каждого из этих элементов управления будет автоматически отображаться, когда установлен ItemsSource.

<ListBox ItemsSource="{Binding History}">
</ListBox>
0 голосов
/ 04 ноября 2011

если вы используете ContentControl, вы можете просто привязать свою коллекцию истории

<ListBox ItemsSource="{Binding History}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Grid>
                <ContentControl Content="{Binding }"/>
            </Grid>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

Выше будет показан список ваших элементов управления.

Однако следует учитывать, что в вашей реализации виртуальная машина знает об объектах просмотра. Чистее использовать чистые данные в вашей виртуальной машине и беспокоиться о том, как отобразить себя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...