25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,161
|
|
1 | |
mvvm : как в модель представления передать имя колонки DataGrid?20.01.2013, 17:30. Показов 2335. Ответов 10
Метки нет (Все метки)
Уважаемые Гуру!
Есть userControl на котором DataGrid. В модели представления делаю фильтр данных. Команда фильтрации вызывается из контекстного меню DataGrid. Фильтрация должна производиться по колонке, над которой было вызвано контекстное меню. 1. Как модель представления может узнать по какой колонке фильтровать? 2. Есть DependencyProperty код_района , который определяется в codeBehind файле контрола. Как модель представления может узнать значение этого DependencyProperty код_района? Может кто поделится ссылками что почитать по этому вопросу?
0
|
20.01.2013, 17:30 | |
Ответы с готовыми решениями:
10
Как правильно передать заполненную модель бизнес логике модели представления Как из DataGrid открыть новое окно MVVM Как в DataGrid занести изменение в базу на MVVM Как установить DataGrid.ItemsSource из кода ViewModel in mvvm? |
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
20.01.2013, 17:40 | 2 |
АТерентьев, а какие библиотеки используются?
0
|
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,161
|
||||||
20.01.2013, 18:53 [ТС] | 3 | |||||
Да можно сказать - чистая VS 2010.
PresentationFramework WPFToolkit.Extended Добавлено через 6 минут DependencyProperty Район привязан к DependencyProperty другого элемента на главной форме:
0
|
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,161
|
|
20.01.2013, 19:03 [ТС] | 4 |
Справа на форме - дерево для выбора района. Здесь - DependencyProperty актиного района, который привязал к DependencyProperty районОрганизации в UserControl организации, который в свою очередь появляется на одной из закладок TabControl основной формы. У UserControl Организации контекстом является ViewModel организацииVM.cs.
В последней нужно формировать фильтр по району ну и значениям других колонок грида. Отсюда 2 задачи - 1. Связать значение района из UserControl организации со свойством организацииVM.cs 2. Связать SelectedCell со свойством из той же организацииVM.cs.
0
|
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,161
|
|
20.01.2013, 19:19 [ТС] | 5 |
Справа на форме - дерево для выбора района. Здесь - DependencyProperty актиного района, который привязал к DependencyProperty районОрганизации в UserControl организации, который в свою очередь появляется на одной из закладок TabControl основной формы. У UserControl Организации контекстом является ViewModel организацииVM.cs.
В последней нужно формировать фильтр по району ну и значениям других колонок грида. Отсюда 2 задачи - 1. Связать значение района из UserControl организации со свойством организацииVM.cs 2. Связать SelectedCell со свойством из той же организацииVM.cs.
0
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
20.01.2013, 20:05 | 6 |
АТерентьев, я имел ввиду какие библиотеки паттерна mvvm. Моя тема
А RelayCommand прикрутить к событию пробовали? или ICommand реализованный.
0
|
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,161
|
|
20.01.2013, 20:11 [ТС] | 7 |
Команды прикручены и работают. Пока разбираюсь может поделитесь какие библиотеки полезны.
Я пока стандартными средствами обходился без библиотек. А интересно. Ну, в принципе я понимаю, что ViewModel ничего не знает о View. Весь обмен только за счет привязок.
0
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
||||||
20.01.2013, 20:22 | 8 | |||||
АТерентьев, Точнее View ничего не знает о ViewModel,он конечная цель всех этих манипуляций.
Я использовал для своего маленького проекта galaSoftMVVM Знакомые,которые работают пользуются PRISM Те кто занимается wpf долго накопили свои библиотеки по MVVM,которые возможно более гибкие и обширные,но увы на халяву код не дают. А я то думал,mvvm держатся только на этих библиотеках в основном,а вы в режиме берсерка пишите) Добавлено через 2 минуты
И свойство в ViewModel "SelectedItem",которое и привяжем.С этим думаю понятно. Добавлено через 1 минуту где именно это значение,и какое оно,тип?
0
|
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,161
|
||||||||||||||||
20.01.2013, 20:39 [ТС] | 9 | |||||||||||||||
1. По SelectedItem:
Фильтрация запускается по команде
что пока не проверил правильно ли будет формироваться SelectedCell - на фильтрацию попадаю из контекстного меню и оператор не будет специально выделять ячейку, просто над ней кликнет правой кнопкой. 2. В codeBehind контрола организации (организации.xaml.cs) ввел
Попытался это же свойство связать со свойством во ViewModel (организацииVM.cs):
Вроде для РайонОрганизацииProperty источником является свойство из дерева районов, а само оно является источником для свойства вьюхи, но видимо нельзя так. Убрал этот binding и стал попадать в OnРайонОрганизацииChanged. Пока так, разбираюсь... Как то упростить нужно бы , конечно
0
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
20.01.2013, 20:59 | 10 |
В get можно написать,если нету выделенной ячейки - выделить 1-ую или 2-ую.
А вот тут так просто не упростишь,это груз mvvm wpf. Хотя может есть решение,я не видел. а тут,по-моему,либо 1 либо 2. Лучше первое,но 2 - проще. 2 код - вся магия,нужная для привязки. Может в хамл описались. а трассировка что говорит?
0
|
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,161
|
|
20.01.2013, 21:32 [ТС] | 11 |
Ушел от компа, теперь завтра. А что полезного есть в библиотеках, если не сложно в двух словах?
0
|
20.01.2013, 21:32 | |
20.01.2013, 21:32 | |
Помогаю со студенческими работами здесь
11
Как из списка List<double> добавить элементы в DataGrid? MVVM Как запоминать выделенную запись в DataGrid при использовании MVVM? Как при использовании свойства DataGrid.RowDetailsTemplate вызвать команду? MVVM Как передать в процедуру/функцию имя класса, который еще не создан (универсальное имя) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |