Почему свойства зависимости?

redfivelabs реализовал.Net компактную платформу для платформы S60

Титан, Мобильный телефон от Appcelerator выглядит интересным. Вы разрабатываете свое приложение в HTML & JavaScript и загрузка на их сервер, где это компилируется в исходное приложение целевой платформы (в настоящее время iPhone & Android)

41
задан Rob Hruska 12 November 2009 в 17:07
поделиться

2 ответа

Это помогло мне понять рассуждения:

Основное отличие состоит в том, что значение обычного свойства .NET читается напрямую из закрытого члена в вашем классе , тогда как значение DependencyProperty разрешается динамически при вызове метода GetValue (), унаследованного от DependencyObject .

Когда вы устанавливаете значение свойство зависимости, оно хранится не в поле вашего объекта, а в словаре ключей и значений , предоставляемом базовым классом DependencyObject. Ключ записи - это имя свойства, а значение - это значение, которое вы хотите установить.

Преимущества свойств зависимостей заключаются в следующем:

Уменьшенный объем памяти

It ' Это огромная потеря для хранения поля для каждого свойства, если вы думаете, что более 90% свойств элемента управления пользовательского интерфейса обычно остаются с исходными значениями. Свойства зависимости решают эти проблемы, сохраняя только измененные свойства в экземпляре. Значения по умолчанию сохраняются один раз в свойстве зависимости.

Наследование значений

При доступе к свойству зависимости значение разрешается с использованием стратегии разрешения значений. Если локальное значение не установлено, свойство зависимостей перемещается вверх по логическому дереву, пока не найдет значение. Когда вы устанавливаете FontSize для корневого элемента, он применяется ко всем текстовым блокам ниже, за исключением того, что вы переопределяете значение.

Уведомление об изменении

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

From: WPF Tutorials .

65
ответ дан 27 November 2019 в 00:39
поделиться

Свойства зависимостей решают другой сценарий использования, нежели отражение и атрибуты.

Свойства зависимостей предоставляют единый согласованный API для выполнения действий, которые стандартные свойства не могут обрабатывать.

8
ответ дан 27 November 2019 в 00:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: