Редактирование объекта в форме

 
0
 
.NET
ava
V0fka | 01.10.2013, 10:30
Привет!

Есть 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 он в нужном состоянии, а вот в листбоксе не обновлен.

Вопрос: как это все сделать? И я, признаться, не уверен, что тот подход, который я использую для этой задачи - нормальный. Не, может оно конечно так и делается, но просто в силу своей неопытности вот прошу совета у более опытных коллег. smile
Comments (3)
ava
likegift | 04.10.2013, 08:55 #
Я думаю, что просто в классе Task не хватает реализации интерфейса INotifyPropertyChanged с вытекающими из этого последствиями в виде необновляющихся свойств, которые вы изменяете.
ava
V0fka | 04.10.2013, 15:11 #
likegift, большое спасибо! Реализовал интерфейс INotifyPropertyChanged и получил то, что хотел.
ava
likegift | 07.10.2013, 07:26 #
Цитата (V0fka @ 4.10.2013,  18:11)
likegift, большое спасибо! Реализовал интерфейс INotifyPropertyChanged и получил то, что хотел.

кушайте на здоровье! smile
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
  V0fka   likegift
advanced
Submit