Я вижу здесь два вопроса и постараюсь ответить на них шаг за шагом.
Перечень обязательных элементов с подробным представлением
С учетом этих классов 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
, чтобы добавить его в список.