|
Подход к WPF MVVM
|
|||
---|---|---|---|
#18+
Добрый день, знатоки! Я не первый и не я последний с такой темой.Изучаю WPF+MVVM. Накатал такой пример (см. вложение). Суть проста: одно окошко, создаются LinqToSqlClases и таблица выводится на грид. Вопрос: 1) У меня правильный подход? Что я напутал? 2) Как сделать заполнение коллекции Headers по команде? Сейчас он заполняется при создании Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Если делать по команде, то где должно быть открытие подключение и заполнение коллекции: в Model или ModelView? Я так понял что в Model не должно быть никаких действий, так? А если делать в ModelView, то мне надо: Открыть в Model set"ы для коллекции в ModelView создать DCNomenklature, который потом присвоить полю Model`a? 3) Я завёл статический класс Terminal.cs. В нём я хочу хранить такие вещи как строка подключения, текущий номер выбранного Header`a и т.д. Вообщем относительно глобальные значения. С этим классом по идее будут работать все ModelView. Но что-то мне подсказывает что подход неверный... Как правильно это сделать? 4) Какой профит даёт ObservableCollection? Я не нашёл примеров использования его свойств. 5) Можете подсказать как сделать установку SelectedHeader при помощи команды? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2014, 17:07 |
|
Подход к WPF MVVM
|
|||
---|---|---|---|
#18+
Ещё такой вопрос. Допустим я хочу теперь сделать ещё одну модель - детали. У меня будет выбор из DCNomeklature.t_DebWorksDetails, где id=... Как правильно мне передать этот ID из одной модели в другую? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2014, 17:18 |
|
Подход к WPF MVVM
|
|||
---|---|---|---|
#18+
Алексей Ку., кури EF - Entity Framework ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2014, 17:36 |
|
Подход к WPF MVVM
|
|||
---|---|---|---|
#18+
Алексей Ку., авторКакой профит даёт ObservableCollection ну так то уведомляет WPF о том, что об изменениях в составе, например, элемент добавлен или удален. Логика должна быть во ViewModel, там же определение команды. В методе, который вызывается по команде - логика (вообще любая требуемая). В разметке View (хотя можно и в кодбехайнде) прицепишь команду к клику кнопки, например, или к событию Loaded твоего грида. В зависимости от того, что нужно. гугли RelayCommand и будет счастье ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2014, 17:54 |
|
Подход к WPF MVVM
|
|||
---|---|---|---|
#18+
Алексей Ку., 2) в Model нужно реализовать работу с данными (чтение, сохранение, изменение) 3) Для хранения параметров есть класс Settings и Resources в пространстве имён Properties, думаю он вполне себе удобен 4) ObservableCollection<T> реализовано OnPropertyChanged для (вставки, удаления, перемещения элементов), грубо говоря, когда элемент добавляется коллекции View оповещается о том, что список обновился и его нужно пересоздать на экране. Если вы создадите класс List<T> и забиндите на него ListView, а потом добавить в ViewModel в него элемент, то на экране он не появится, а вот с ObservableCollection всё иначе. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2014, 12:51 |
|
|
start [/forum/topic.php?fid=21&fpage=21&tid=1441054]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 280ms |
total: | 425ms |
0 / 0 |