Привет!
Есть 2 формы. Одна форма содержит ListВox, прибинденный к ObservableCollection. По двойному клику открывается другая форма, в которую передается объект, который можно там редактировать:
| Код | TaskWindow tw = new TaskWindow((Task)listBox_Tasks.SelectedItem); tw.ShowDialog();
|
Вот код окна TaskWindow (текущий код - это один из вариантов экспериментов):
| Код | public partial class TaskWindow : Window { public TaskWindow() { InitializeComponent(); }
public Task mTask { get; set; } private Task currentTask;
public TaskWindow(Task task) : this() { this.currentTask = task; this.mTask = task.Clone(); }
private void btn_Ok_Click(object sender, RoutedEventArgs e) { currentTask.load(mTask); Close(); }
private void btn_Close_Click(object sender, RoutedEventArgs e) { Close(); } }
|
Что я хочу сделать. Я хочу, чтобы по нажатию на btn_Ok объект сохранялся и обновлялся в listBox_Tasks, а по нажатию на btn_Close форма просто закрывалась и объект не сохранялся. Если сделать так, как я написал выше - то поведение вроде то, но в listBox_Tasks объект не обновляется. Если я его открываю снова - то в форме TaskWindow он в нужном состоянии, а вот в листбоксе не обновлен.
Вопрос: как это все сделать? И я, признаться, не уверен, что тот подход, который я использую для этой задачи - нормальный. Не, может оно конечно так и делается, но просто в силу своей неопытности вот прошу совета у более опытных коллег.  |