0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 52
|
|
1 | |
Как узнать когда изменяется DataContext у DataGrid27.11.2012, 11:21. Показов 2064. Ответов 14
Метки нет (Все метки)
0
|
27.11.2012, 11:21 | |
Ответы с готовыми решениями:
14
Как узнать когда обновление UI после применения DataContext к Page закончилось? Как узнать когда программу запустил User, а когда автозагрузка ? Автосохранение DataContext.SubmitChanges() при изменении ячейки DataGrid LINQ при привязке List<string[]> к DataGrid.DataContext через IBindingList |
27.11.2012, 12:10 | 2 |
Как узнать - FrameworkElement.DataContextChanged
А какая связь между "как узнать" и "тип" - не понимаю
1
|
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 52
|
|
27.11.2012, 13:15 [ТС] | 3 |
xZooYx, потому что надо узнать это ещё в моделе, где DataContext типа ObjectQuery. А DataContextChanged вообще срабатывает только при инициализации, а не при изменении строк, в моём случае лучше использовать CellEditEnding и SelectedCellsChanged но ето в xaml а как теперь результат увидеть в моделе?
0
|
32 / 32 / 5
Регистрация: 26.02.2011
Сообщений: 83
|
|
27.11.2012, 13:46 | 4 |
0
|
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 52
|
|
27.11.2012, 14:03 [ТС] | 6 |
kenny69, смотрела, но мы не знаем изначально какая коллекция будет помещена в datagrid плюс увидеть что она изменилась надо не в dg.xaml.cs, а в связанной модели. из-за этого и все проблемы.
Добавлено через 3 минуты Conrad, не должен.
0
|
27.11.2012, 14:07 | 8 |
knesinka, yt ну просто вы так написали: "изменяется DataContext". Это можно понять как угодно... Если вам нужно определить изменение полей класса, который указан в DataContext, то, как сказал kenny69, вам надо смотреть в сторону INotifePropertyChanged
1
|
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 52
|
|
27.11.2012, 14:21 [ТС] | 9 |
kenny69, свойство Mode.TwoWay при binding. но оно не помогает.
Добавлено через 6 минут и PagedCollectionView нет в WPF
0
|
burning1ife
|
||||||
27.11.2012, 14:27 | 10 | |||||
+ к этому в вашей модели должно быть реализован интерфейс INotifyPropertyChanged. и в этом свойстве вызываться что-то вроде
Добавлено через 40 секунд да, я перепутал, это в Silverlight, но есть его аналоги для WPF Добавлено через 2 минуты и проще показать код, а то такое чувство, что мы разговаривать о сферическом коне в вакууме.
1
|
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 52
|
|||||||||||
27.11.2012, 15:04 [ТС] | 11 | ||||||||||
kenny69,
не помогает Добавлено через 8 минут
0
|
32 / 32 / 5
Регистрация: 26.02.2011
Сообщений: 83
|
||||||
27.11.2012, 15:46 | 12 | |||||
Если ты имеешь ввиду обновить DataGrid при изменении DataContext (неудачное название для источника привязки - вводит в заблуждение), то логичнее сделать так:
0
|
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 52
|
|
27.11.2012, 16:01 [ТС] | 14 |
Conrad, DataGrid обновляется и обновлялась и без этого. мне нужно Changed = true при обновлении ячейки таблицы.
Добавлено через 4 минуты kenny69, если я изменю ObjectQuery на ListCollectionView то не получется привязать DataContext из базы: var entities = new Core.DbEntities.DbEntities(Core.DbEntities.EntitiesConnectionType.SqlServer); model.DataContext = entities.EditionType;
0
|
32 / 32 / 5
Регистрация: 26.02.2011
Сообщений: 83
|
|
27.11.2012, 18:17 | 15 |
У тебя принципиально неправильная архитектура приложения. Все манипуляции с данными нужно проводить во ViewModel, а в Model хранить только описание твоих данных, но не суть. Как я понял, ты хочешь работать напрямую с БД. Это тоже не есть хорошо. Нужно сделать выборку из БД (в ObservableCollection<T>, например) и работать с ней, а потом сохранять измененную коллекцию. При работе с ObservableCollection<T> сможешь воспользоваться событием INotifyCollectionChanged.CollectionChanged и ловить изменения вносимые в данные, чего (как я понимаю) ты и добиваешься.
1
|
27.11.2012, 18:17 | |
27.11.2012, 18:17 | |
Помогаю со студенческими работами здесь
15
Как узнать высоту таблицы, если она не фиксированная и изменяется в зависимочти от количества текста? Как избежать изменения одной переменной ссылочного типа, когда изменяется значение другой переменной Как узнать количество столбцов в DataGrid? Как узнать, изменил ли пользователь содержимое в DataGrid? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |