none
Как запоминать выделенную запись в DataGrid при использовании MVVM ? RRS feed

  • Вопрос

  • Здравствуйте. Такой вот вопрос. Работаю с WPF и MVVM не так давно. Как мне после обновления коллекции выделять запись, которая была выделена в DataGrid (то бишь SelectedIndex)?

    Обновление происходит по событию SqlDepedency или по Комманде, которая привязана к кнопке. В Обоих случаях это выглядит так :

    public void RefreshCollection()
    {
       
    PaketCollecion = DataBase.GetPakets()
       
    //возвращается ObservableCollection<part>
    }

    После этого Выбранная запись теряется и приходится её снова искать в таблице. Как бы мне после обновления запоминать запись или индекс выбранного элемента и вновь выделять его?

    13 октября 2014 г. 11:37

Ответы

  • Добрый день.

    Скорее всего, у вас выбранный элемент привязан через Binding к свойству VM. Перед обновление данных, запоминаете первичный ключ элемента. После обновления ищите по нему нужный элемент (элемент может пересоздаться и/или поменять свой индекс в коллекции). Присваиваете найденный элемент свойству VM связанному с SelectedItem.

    14 октября 2014 г. 5:27
    Отвечающий