Каковы различные варианты использования Attached Properties? - PullRequest
4 голосов
/ 07 июля 2010

Я видел некоторые действительно различные применения AttachedProperties в моих приключениях в WPF, и мне интересно, каковы некоторые из различных применений?

Я видел довольно обыденное использование, такое как в Grid и Canvas, а также некоторые действительно классные хаки, позволяющие связывать коллекции без сеттеров. Какие еще приложения вы нашли для AttachedProperties? (Примеры кода действительно полезны!)

Ответы [ 5 ]

1 голос
/ 07 июля 2010

Используйте пользовательское присоединенное свойство, когда вы хотите добавить свойства в существующий класс: прежде чем оно стало доступно в Silverlight 4, я создал вложенное свойство для DataGrid , которое позволяло указывать столбец с* ширина, чтобы занять все доступное пространство):

1 голос
/ 07 июля 2010

Посмотрите на прикрепленное поведение.

http://www.codeproject.com/KB/WPF/AttachedBehaviors.aspx // не уверены в качестве этой ссылки.Первый, к которому я пришел после поиска в Google.

Присоединение поведения к объекту просто означает, что объект делает что-то, чего он не будет делать сам по себе

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

0 голосов
/ 03 ноября 2010

Присоединение ICommand к ЛЮБОМУ событию: http://geekswithblogs.net/HouseOfBilz/archive/2009/08/27/adventures-in-mvvm-ndash-binding-commands-to-any-event.aspx

Отлично подходит для тех, кто использует MVVM.

0 голосов
/ 27 июля 2010

Вот несколько более продвинутых вариантов использования, которые я нашел для них:

  1. Области пометки (шаблон призмы)

http://csharperimage.jeremylikness.com/2010/03/mef-instead-of-prism-for-silverlight-3.html

Предоставление настраиваемого экспорта активов XAML с использованием Managed Extensibility Framework (MEF)

http://csharperimage.jeremylikness.com/2010/03/custom-export-providers-with-custom.html

(привязка к пуле для # 1)

Проверка (прикрепить поведение проверки к элементу управления)

Локализация (я видел прикрепленные свойства, используемые для доступа к ресурсам и предоставления переведенного значения)

Очевидно, что поведение является еще одним важным фактором.

0 голосов
/ 27 июля 2010

Прикрепленное поведение - самая полезная вещь, которую я видел, как сказал Джеймс. Я регулярно использую текст, который помещается в текстовое поле, а затем исчезает при фокусировке.

Для этого хорошо подойдет неактивная строка, содержащая пример ввода. Так что для текстового поля «Имя» у вас может быть строка «Джо Блоггс».

...