WPF - Использование привязки данных для привязки списка элементов и текстовых полей деталей - PullRequest
1 голос
/ 08 января 2009

Я пытаюсь настроить привязку данных, как описано в заголовке.

Проблема, с которой я столкнулся, связана с общим списком.

Есть примеры.

Я не могу использовать BindingListCollectionView в общем списке, поэтому должен использовать CollectionView.

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

Я знаю, что это просто, но как это нормально обрабатывается?

Malcolm

1 Ответ

3 голосов
/ 08 января 2009

Я вижу здесь два вопроса и постараюсь ответить на них шаг за шагом.

Перечень обязательных элементов с подробным представлением

С учетом этих классов ViewModel (представьте, что все реализуют INotifyPRopertyChanged):

public class DataView {
    public Item SelectedItem {get; set; }
    public List<Item> Items { get; private set; }
}

public class Item {
    public string Title { get; set; }
}

Помещая экземпляр Data в DataContext, минимальное представление может выглядеть так:

<StackPanel>
    <ListView Items="{Binding Items}" SelectedItem="{Binding SelectedItem}" />
    <TextBox Text="{Binding SelectedItem.SelectedItem.Title}" />
</StackPanel>

Добавление новых предметов

Чтобы иметь возможность создать новый Item без немедленного добавления его в список, вы можете разделить вновь созданный объект на его собственную область. Визуально вы можете иметь его в новом всплывающем окне или интегрировать в список, но на самом деле он будет добавлен только в список при следующей попытке добавить или подтвердить родительский диалог. На этом этапе вы также можете проверить, достаточно ли Item, чтобы добавить его в список.

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