|
2 / 2 / 2
Регистрация: 14.03.2017
Сообщений: 124
|
||||||||||||||||
Изменить значения из текстового поля нажатием кнопки01.08.2019, 10:59. Показов 5897. Ответов 17
Нажав на кнопку Ok, длина и ширина должны измениться, помогите понять, как написать функцию для кнопки Click_Ok. Когда я выбираю View1, текстовое поле автоматически отображает информацию об этом View1. Мне нужно, если я хочу изменить значение, введя новое в текстовое поле, нажав кнопку, чтобы сохранить его
ViewModel
Помогите пожалуйста разобраться правильно ли я все сделали вообще правильно ли у меня написана программа по паттерну MVVM, а то я не уверен в её правильности(
0
|
||||||||||||||||
| 01.08.2019, 10:59 | |
|
Ответы с готовыми решениями:
17
Нажатием кнопки изменить цвета градиентной заливки polygon
Как для кнопки и текстового поля задать ширину в процентах? |
|
Модератор
|
|||
| 01.08.2019, 18:13 | |||
|
Из вашего кода нет полного понимая чего у вас уже реализовано и чего ещё надобно. Если правильно понял. У вас есть какой-то списочный элемент (ListBox или ListView), который отображает список камер Camera. Кстати, почему Camera, а не Cameras? Выделенный элемент биндится к свойству SelectedCamera.Если я правильно понял, то у вас и так автоматически будут изменяться значения выделенной камеры., так как для TextBox установлен режим Mode=TwoWay. Никакого специального метода для этого не надо.
1
|
|||
|
Модератор
|
|
| 01.08.2019, 18:18 | |
|
P,S. Кирилл2017, в паттерне MVVM создаёт/изменяет/сохраняет данные Модель. У ViewModel нет на это полномочий.
У Вас коллекция Camera создаётся в VM - так, конечно, будет работать. Но такое является ошибкой для MVVM. Такая ошибка чревата в дальнейшем (по мере расширения решения, в процессе его модернизации, использовании подобного в других решениях) - появлением багов и нестыковкой с другими проектами.
1
|
|
|
Модератор
|
||||||||||||
| 01.08.2019, 20:32 | ||||||||||||
Сообщение было отмечено Кирилл2017 как решение
Решение
1
|
||||||||||||
|
2 / 2 / 2
Регистрация: 14.03.2017
Сообщений: 124
|
||||||
| 02.08.2019, 10:42 [ТС] | ||||||
|
Элд Хасп, когда вставляю код то OnPropertyChanged(); подчеркивает, хотя я и наследую от OnPropertyChangedClass, он у меня реализован следующим образом
0
|
||||||
|
Модератор
|
|||
| 02.08.2019, 10:51 | |||
Библиотека FW классов и там создайте реализации всех типов которые могут быть использованы в различных решениях: OnPropertyChangedClass, RelayCommand, WPF-конвертеры и т.д. И потом подключайте к решениям эту библиотеку.Реализации OnPropertyChangedClass и RelayCommand возьмите из тем Готовые решения, примеры и рекомендации начинающим на WPF [Элд Хасп]Я, в основном, использую реализации из постов Новая реализация RelayCommand и Новая реализация OnPropertyChangedClass Скиньте текст ошибок.
1
|
|||
|
2 / 2 / 2
Регистрация: 14.03.2017
Сообщений: 124
|
||||||
| 02.08.2019, 11:05 [ТС] | ||||||
|
Элд Хасп, calls property changed event
This is no argument given that corresponds to the required formal parameter 'propertyName' of 'OnPropertyCangedClass.OnPropertyChanged (string)' я вставил вашу реализацию и теперь не выдает ошибку ![]() Добавлено через 3 минуты Элд Хасп, но выдает ошибку в этой части кода
0
|
||||||
|
Модератор
|
||
| 02.08.2019, 11:20 | ||
clr-namespace:Cameras ещё нет типа CamerasViewModel.Либо вы определили тип CamerasViewModel в другом пространстве.
1
|
||
|
Модератор
|
|||||||
| 02.08.2019, 11:28 | |||||||
Сообщение было отмечено Кирилл2017 как решение
Решение[CallerMemberName]. И лучше OnPropertyChanged сделать публичным - иногда бывает необходимость вызова извне класса.Простая реализация:
1
|
|||||||
|
2 / 2 / 2
Регистрация: 14.03.2017
Сообщений: 124
|
||||||
| 02.08.2019, 15:32 [ТС] | ||||||
|
Элд Хасп, спасибо вам огромное!!!
Добавлено через 3 часа 56 минут Элд Хасп, я хотел кое-что уточнить, что означает параметр
0
|
||||||
|
Модератор
|
||
| 02.08.2019, 18:13 | ||
Сообщение было отмечено Кирилл2017 как решение
РешениеПри изменении одного значений Width или Height может измениться второй из них.А из него опять первый, опять второй и т.д. Поэтому перед установкой нового второго значения для коррекции пропорции экрана устанавливается флаг isCorrect. Теперь если когда из-за изменения второго значения опять вызывается изменение первого, то сначала проверяется флаг и так как он установлен, то происходит выход без установки нового значения.
1
|
||
|
2 / 2 / 2
Регистрация: 14.03.2017
Сообщений: 124
|
||||||
| 08.08.2019, 11:53 [ТС] | ||||||
|
Элд Хасп, я хотел уточнить, можете пожалуйста объяснить что происходит в этой строке, а то я что-то туплю
0
|
||||||
|
Модератор
|
|||||||
| 08.08.2019, 12:00 | |||||||
View.В другом виде можно записать так
1
|
|||||||
|
2 / 2 / 2
Регистрация: 14.03.2017
Сообщений: 124
|
||||||
| 16.08.2019, 10:26 [ТС] | ||||||
|
Элд Хасп, а чем является CameraClass? если я правильно понимаю это ViewModel, а модель не должна знать о ViewModel
0
|
||||||
|
Модератор
|
||
| 16.08.2019, 11:16 | ||
Такое возможно в однопользовательском локальном приложении. Класс CameraClass не содержит ни какой бизнес-логики. Для более глобальных проектов для данных в Model и их представления в View будут использоваться два разных класса. А для передачи информации между Model <-> View будут использоваться или дефолтные типы данных (string, int, double и т.д.), или поток с сериализуемыми данными (чаще всего в формате JSON).
1
|
||
|
2 / 2 / 2
Регистрация: 14.03.2017
Сообщений: 124
|
|
| 16.08.2019, 11:46 [ТС] | |
|
Элд Хасп, а можно это сделать без такого класса?
0
|
|
|
Модератор
|
||
| 16.08.2019, 13:50 | ||
|
Это же ваша решение, вы задали этот класс. Я только поменял его название с CameraModel на CameraClass. Так как этот класс не является моделью. Он нужен для хранения данных и используется всюду, в том числе для представления данных.
1
|
||
| 16.08.2019, 13:50 | |
|
Помогаю со студенческими работами здесь
18
При нажатии кнопки изменить текст и цвет текстового поля
Как нажатием кнопки изменить запись? Как изменить код нажатием кнопки? Очищение поля ввода нажатием кнопки Esc Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|