31 / 14 / 5
Регистрация: 19.11.2014
Сообщений: 617
|
|||||||||||
1 | |||||||||||
Не срабатывают команды14.07.2017, 08:40. Показов 3588. Ответов 8
Метки нет (Все метки)
Здравствуйте! Использую MVVMLight
0
|
14.07.2017, 08:40 | |
Ответы с готовыми решениями:
8
Не срабатывают стили для текста, но для фона срабатывают По краткому названию команды и фамилиям ее участников, построить полное название команды Файл должен выполнять команды поочередно, но выполняет все команды одновременно Реализовать консольную утилиту, принимающую от пользователя команды с параметрами и выполняющую эти команды |
3 / 3 / 4
Регистрация: 29.10.2016
Сообщений: 48
|
|
15.07.2017, 13:20 | 2 |
Chizel, то что вы написали - все верно, а вот что с датаконтекстом/биндингом/хз. Копайте в сторону что куда биндится. создайте какое либо свойство, проверьте подватывается ли оно в данном месте и т.д.
0
|
31 / 14 / 5
Регистрация: 19.11.2014
Сообщений: 617
|
|
17.07.2017, 08:16 [ТС] | 3 |
Почему то архив не прикрепляется к сообщению. Вот, по ссылке проект, может посмотрит кто-нибудь, что с ним не так? https://drive.google.com/open?... WFINGlEYms
0
|
31 / 14 / 5
Регистрация: 19.11.2014
Сообщений: 617
|
||||||
17.07.2017, 09:02 [ТС] | 5 | |||||
HF, так AddCommand и RemoveCommand это ведь команды
0
|
17.07.2017, 09:53 | 6 | |||||||||||||||||||||||||
Сообщение было отмечено Chizel как решение
Решение
Верно, а биндинг был к методам. Поменяйте и увидите что команды в основном будут работать.
Я код сейчас смотрю, пока мне не понятно. Но проблема в том что AddView не видит контекст AddViewModel. Видимо я не совсем понимаю как MVVMLight работает или локатор надо правильно настроить. Добавлено через 27 минут Ошибка номер 2: AddViewModel.cs. Это были поля, должны быть свойства. Теперь кнопки тоже работают.
А теперь ошибки связанные с проектом: WorkingWithData.cs 1. CSV файл. Формат файла неправильный. 1) Разделитель должен быть ";". И потому что в CSV это принято, и потому что местоположение это наверняка улица, а там "," полно. 2) формат даты неопределён и нет ни парсинга по формату, ни try..catch. Падаем сразу же в любом случае. 3) "
MainViewModel.cs 1) окно то создали
AddViewModel.xaml 1) Не нужно поля ввода по умолчанию заполнять информацией, которая не должна сохраняться по умолчанию. Так можно насоздавать кучу препаратов с названием "Название лекарства". Лучше форму чуток поменять красиво. Добавить Label. Пример для первой строки:
1
|
31 / 14 / 5
Регистрация: 19.11.2014
Сообщений: 617
|
|
17.07.2017, 10:19 [ТС] | 7 |
Ага, действительно ступил я. Спасибо за помощь.
Приложение еще не дописано, поэтому контекст я не настроил пока. То есть изначально я накидал одно главное окно, начал проверять, а не работают команды. Писал дальше, параллельно пытаясь разобрать в чем причина. За подсказку на счет свойств тоже спасибо, упустил этот момент. О, тут вообще все разобрали по полочкам, замечательно! Добавлено через 20 минут Исправил. Но местоположение это не улица, а аптечка, либо холодильник, так что тут запятых не будет. try catch добавить нужно конечно, но зачем определять формат даты? Дату я буду получать с окна AddView, то есть от календаря, вручную дата нигде забиваться не будет. Поэтому и ошибок быть не должно, календарь то ведь всегда в одном виде дату передает. Я не могу коллекцию передать по ссылке в модель. Концепция MVVM это запрещает, поэтому коллекция есть в модели, а во вью модели обертка над ней. Учту.
0
|
17.07.2017, 11:00 | 8 |
Да вы лучше меня всё знаете. Конечно делайте как задумали. Это я просто столкнулся и показалось чем-то неправильным. Но наверное просто вы ещё не до конца всё согласовали в коде.
Так то оно так, но если на будущее закладываться? На разных компьютерах, может быть разный формат. Даже вы сами можете поработать на одном компьютере (с русским регионом), а потом перейти на другой (английский формат дат и цифр)... и все ваши файлы перестанут работать. Ну и, этот метод может в дальнейшем использоваться и как импортирование сторонних данных. Аптеки или поставщики будут например присылать свои данные. И вам потом разные форматы разгребать придётся. Я бы сразу формат какой-то определил (импорт через DateTime.Parse) или сделал парсер разных форматов дат (сначала регэксп определяет, потом парсит). Добавлено через 58 секунд Поэтому лучше Action методы кнопок делать приватными и тогда легко будет увидеть ошибку. Добавлено через 5 минут Я имел ввиду что можно не коллекцию передавать, а Raw данные, например простой список типа List<Medical>. Вызывать этот класс как контроллер данных со статическими методами (читать, писать, удалять). А во вьюмодели результат уже импортировать в коллекцию. И ваш и мой вариант могут быть работоспособные. Просто мысли вслух
1
|
31 / 14 / 5
Регистрация: 19.11.2014
Сообщений: 617
|
|
17.07.2017, 11:52 [ТС] | 9 |
Дельно, переделаю, чтобы была проверка формата дат.
Да, так действительно будет лучше, на будущее учту, ну и тут переделаю, конечно же.
0
|
17.07.2017, 11:52 | |
17.07.2017, 11:52 | |
Помогаю со студенческими работами здесь
9
После выполнения определённой команды не выполняются последующие команды Команды передачи управления (команды условного и безусловного переходов) Вывести результат выполнения команды HELP в текстовый файл так, чтобы у каждой команды был порядковый номер Вывести на экран команды победителя и команды аутсайдера Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |