Когда рассмотрение образца присоединило свойства и поведения, я видел путаницу использования FrameworkPropertyMetadata
, UIPropertyMetadata
и PropertyMetadata
. Так как они все формируют иерархию наследования, как я выбираю который использовать?
Эти классы должны сообщать о некоторых аспектах поведения свойства зависимости.
Проверьте различные классы на предмет предоставляемых ими опций.
Например,
, если вы просто хотите сохранить свойство с помощью dp и предоставить значение по умолчанию, используйте PropertyMetadata
,
, если вы хотите указать поведение анимации, используйте UIPropertyMetadata
,
, но если какое-либо свойство влияет на наполнение уровня структуры wpf, например, на макет элемента, родительский макет или привязку данных, используйте FrameworkPropertyMetadata
.
Подробности вы можете проверить на msdn http://msdn.microsoft.com/en-us/library/ms751554.aspx