|
1 / 0 / 1
Регистрация: 20.12.2016
Сообщений: 13
|
||||||||||||||||
Автоматическое рисование фигур на Canvas21.04.2020, 14:54. Показов 3583. Ответов 22
Здравствуйте дорогие софорумчане. Помогите решить проблему привязки данных. В моей проге необходимо реализовать привязку данных к Canvas. Существует класс PointArea
0
|
||||||||||||||||
| 21.04.2020, 14:54 | |
|
Ответы с готовыми решениями:
22
Отрисовка сложных фигур на canvas Рисование фигур Рисование фигур! |
|
Модератор
|
|||||||||||||||||||||||||||||||||||||||||||||||
| 12.05.2020, 00:01 | |||||||||||||||||||||||||||||||||||||||||||||||
|
Перепутано в сеттерах всех свойств присвоение значения Сделано так:
Перепутано в вызове OnPropertyChanged имя поля с именем свойства - РЕГИСТР имеет значение! Чтобы не было таких глупых ошибок метод надо объявлять так:
Так же для избежания путаницы поля хранящие значения свойств именуйте с нижнего слеша. К этим полям можно обращаться ТОЛЬКО из сеттера и геттера одноимённого свойства. Больше нигде в коде к ним обращения быть не должны. Без всяких вариантов! И возьмите за базовую реализацию вот это класс Новая реализация OnPropertyChangedClass [WPF, Элд Хасп]. Тогда можете сделать от него наследование
Не у всех свойств есть вызов OnPropertyChanged
Ваш класс PointClass не реализует интерфейса IList и реализация в нём INotifyCollectionChanged - бессмыслена! Это интерфейс для коллекций и он передаёт ИНДЕКСЫ изменившихся элементов. А у вас в классе нет индексатора. Он просто не нужен. Шестое. Хранить значения свойств должны приватные ПОЛЯ, а не свойства
Убрал ваш паразитический класс ColorPoint. Восьмое. Обращайте внимание на пространства имён используемых типов! Вы используете System.Drawing.Color, а надо System.Windows.Media.Color ! Полностью код класса
Какие будут проблемы - отпишите. Но сам класс выглядит, мягко говоря, по идиотски. Тип и коллекция с этим типом должны быть РАЗНЫМИ классами. А у вас здесь и создание экземпляра класса и методы для работы с коллекцией. Каша конкретная и широкая дорога к различным багам.
0
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
1 / 0 / 1
Регистрация: 20.12.2016
Сообщений: 13
|
|
| 13.05.2020, 12:45 [ТС] | |
|
Спасибо за помощь. Теперь ошибка возникла с xaml. Я привязываю событие MouseDown, MouseMove и MouseUp к Canvas, но почему-то эти события работают только для точек что отрисовываются, а на нажатие на холст вообще не реагируют.
0
|
|
|
Модератор
|
|||||||
| 14.05.2020, 11:49 | |||||||
|
Внешний Canvas просто не нужен. И надо задавать кисть фона. Если её нет (null) - это означает что фон прозрачен для кликов. Правильная разметка
Поэтому ещё раз пишу вам. У вас очень запутанный проект. Фактически просто свалка кода. ДО создания WPF представления вам нужно сначала правильно создать саму архитектуру, иерархию данных в Model. И предоставить к ней доступ через VM. Если будете делать правильно - реализация вашей задачи это полдня от силы.
0
|
|||||||
| 14.05.2020, 11:49 | |
|
Рисование фигур Рисование фигур Рисование фигур Рисование фигур Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|