0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 3

Изменение свойств компонентов в ходе выполнения программы

06.05.2012, 04:33. Показов 1813. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Проблема в следующем.
Есть собственный WPF-контрол. В нем свойство Property1 и Label примерно так:
C#
1
public double Property1 { get; set; }
и
XML
1
<Label Name="label1" Content="{Binding ElementName=ThisControl,  Path=Property1}"  />
При загрузке label1 отображает значение Property1.
А потом в процессе выполнения это значение меняется. Например:
C#
1
Property1-=1;
А label1 не меняется..
Как добиться обновления?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.05.2012, 04:33
Ответы с готовыми решениями:

Ошибка в ходе выполнения Directory.Move
Нужно скопировать некоторые данные. Написал прогу, но на Directory.Move выскакивает ошибка в ходе выполнения. An unhandled exception of...

Рисование фигур в ходе работы программы
Как сделать, чтобы в процессе работы программы с небольшой паузой рисовались эллипсы? int i = 300; while...

Задайте изменение цвета кнопок и цвета шрифта на кнопках формы в ходе выполнения программы
1. Задайте изменение цвета кнопок и цвета шрифта на кнопках формы в ходе выполнения программы. 2. Создайте кнопку «Перемещение формы» ...

4
I ♥ C#
 Аватар для Delog
470 / 262 / 25
Регистрация: 07.05.2010
Сообщений: 567
06.05.2012, 08:05
INotifyPropertyChanged
0
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 3
06.05.2012, 12:50  [ТС]
То есть нужно добавлять еще код, вызывать обработчик..
Но в таком случае не проще ли описать обновление в свойстве?
C#
1
2
3
4
5
public double Property1 
    { 
         get{ return property1; } 
         set{ property1=value; label1.Content=value } 
     }
Зачем тогда вообще заморачиваться с binding'ом?
0
I ♥ C#
 Аватар для Delog
470 / 262 / 25
Регистрация: 07.05.2010
Сообщений: 567
06.05.2012, 16:29
Можно, конечно, но в свойстве вам придется отслеживать все объекты, которые требуют обновления, а так все что привязано обновится автоматом. К тому же есть контролы в которых нельзя изменить содержимое, кроме как связать его с чем нибудь. Да и предложенный вами код нарушает принципы ООП - его в дальнейшем будет сложнее поддерживать, вы не сможете изменить интерфейс без перелопачивания всего кода в поисках таких "трюков", этот код нельзя будет повторно использовать для других задач, и вообще, если вы работаете в команде, то получите тумаков от коллег Если вы еще не много дров наломали, то ознакомьтесь с принципами MVVM.
1
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 3
06.05.2012, 17:17  [ТС]
Цитата Сообщение от Delog Посмотреть сообщение
Можно, конечно, но в свойстве вам придется отслеживать все объекты, которые требуют обновления, а так все что привязано обновится автоматом. К тому же есть контролы в которых нельзя изменить содержимое, кроме как связать его с чем нибудь. Да и предложенный вами код нарушает принципы ООП - его в дальнейшем будет сложнее поддерживать, вы не сможете изменить интерфейс без перелопачивания всего кода в поисках таких "трюков", этот код нельзя будет повторно использовать для других задач, и вообще, если вы работаете в команде, то получите тумаков от коллег Если вы еще не много дров наломали, то ознакомьтесь с принципами MVVM.
Спасибо за доходчивое объяснение!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.05.2012, 17:17
Помогаю со студенческими работами здесь

Изменение размеров компонентов во время выполнения программы
Недавно мне понадобилось написать код, чтобы во время выполнения программы можно было изменять размеры кнопки, как в настоящей среде...

Изменение свойств компонентов
Как изменить программно свойство ReadOnly в компоненте MaskEdit (c true на false)?

как создать компонент в ходе выполнения программы
собственно,вопрос:как создать компонент в ходе выполнения программы? то есть ,например,нужно при нажатии на кнопку,создать компонент...

Задание имени переменной в ходе выполнения программы
Вопрос в следующем. Можно ли задавать имена переменным, созданным в ходе выполнения программы? Что-то вроде: string str; ...

Связывание и развязывание таблиц в ходе выполнения программы
Возник вот такой вопрос. Есть база данных, в которой две таблицы, заказы и товары. Надо связать товары и заказы по одному полю. Это сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
management on GitLab and repository management in Visual Studio code
jigi33 27.04.2025
- repo management on GitLab - CI/ CD in GitLab - VCS repository management in Visual Studio code (see attachments)
Kanban или Scrum - что выбрать?
EggHead 27.04.2025
Kanban и Scrum — уже много лет удерживают лидирующие позиции среди гибких подходов. Руководители проектов и команды разработчиков то и дело сталкиваются с дилеммой: какой из этих двух методов выбрать. . .
Кастомные Middleware на C# в ASP.NET Core
UnmanagedCoder 27.04.2025
Разработка веб-приложений сегодня мало напоминает монолитное программирование прошлых лет. На смену громоздким блокам кода пришла модульная архитектура, где каждый компонент выполняет строго. . .
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru