powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Свойство CurrentItem объекта представления не меняет своего значения. Почему ?
1 сообщений из 1, страница 1 из 1
Свойство CurrentItem объекта представления не меняет своего значения. Почему ?
    #37484425
thunder2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть окно в котором создается объект представления типа LisCollectionSource таким образом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
// класс данных
public class mtype
{
    public ObservableCollection<Trigger> Triggers {get; set;}
}

// метод окна
public bool? ShowDialog(mytype obj)
{
   DataContext = obj;
   grdTriggers.ItemsSource = obj.Triggers; // grdTriggers - DataGrid отображающий ObservableCollection<Trigger>
   lstView = (ListCollectionView)CollectionViewSource.GetDefaultView(grdTriggers.ItemsSource); // lstView - приватное поле класса окна
   return this.ShowDialog();
}
Затем при нажатии на некую кнопочку вызывается другое окно, в которое передается экземпляр типа Trigger из коллекции Triggers. Вообщем-то ничего нового, обычное поведение.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
private void btnEdit_Click(object sender, RoutedEventArgs e)
{
   TriggerEdit trgEdit = new TriggerEdit(); // это окно в котором будем менять наш экземпляр
   trgEdit.Owner = this;
   Trigger trg = new Trigger(); // созадем пустой объект
   trg = lstView.CurrentItem; // копируем в пустой объект текущий выделенный экземпляр
   if (trgEdit.ShowDialog(trg) == true)
   {
       // если нажали Ок, то заменяем его на новый
       ((Task)this.DataContext).Triggers[this.lstView.CurrentPosition] = trg;
       lstView.Refresh();
   }
}
По идее должно работать, но получается , что lstView.CurrentItem и lstView.CurrentPosition всегда показывают на первый элемент в списке.
Пока вместо
Код: plaintext
1.
         trg = lstView.CurrentItem;
использую
Код: plaintext
1.
         trg = ((Task)DataContext).Triggers[this.grdTriggers.SelectedIndex]; 
, но хочется изящества.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Свойство CurrentItem объекта представления не меняет своего значения. Почему ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]