Интерактивность. Поведение <T>против прикрепленных свойств - PullRequest
21 голосов
/ 24 февраля 2010

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

Ответы [ 4 ]

39 голосов
/ 24 февраля 2010

Нет. Поведения - это просто гораздо более приятная абстракция поверх прикрепленных свойств.

Используя Behavior<T>, вы получаете доступ к AssociatedObject напрямую, а также возможность легко подключать и отключать поведение во время выполнения.

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

7 голосов
/ 16 апреля 2012

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

например. Grid.Row создает хорошее присоединенное свойство, так как оно используется сеткой, а не целью. С другой стороны, автозамена будет вести себя хорошо, так как это сделает видимые изменения на объекте.

2 голосов
/ 24 февраля 2010

Поведения основаны на прикрепленных свойствах. Это означает, что если вы не можете найти определенное поведение - вы пишете свое собственное, либо на основе структуры поведения, предоставленной Blend, либо создавая собственную точку доступа ...

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

0 голосов
/ 18 декабря 2013

Это не ответ. Но лучшее объяснение, которое я могу найти на эту тему http://briannoyesblog.azurewebsites.net/2012/12/20/attached-behaviors-vs-attached-properties-vs-blend-behaviors/

Брайан Нойес в своих статьях четко описывает различия между каждым из понятий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...