У меня есть объект (Decorator), который определяет присоединенное свойство для любого из его дочерних элементов.
Пока у меня нет проблем с установкой / получением присоединенного свойства для удаленного объекта:
public static readonly DependencyProperty RequiresRoleProperty =
DependencyProperty.RegisterAttached("RequiresRole", typeof (string), typeof (UIElement),
new FrameworkPropertyMetadata(
null,
FrameworkPropertyMetadataOptions.AffectsRender,
OnSetRequiresRole));
[AttachedPropertyBrowsableForChildrenAttribute(IncludeDescendants=true)]
public static string GetRequiresRole(UIElement element)
{
return element.GetValue(RequiresRoleProperty) as string;
}
public static void SetRequiresRole(UIElement element, string val)
{
element.SetValue(RequiresRoleProperty, val);
}
Тем не менее, у меня есть OnSetCallback, настроенный для этого присоединенного свойства, так что моя логика настройки, однако мне нужна ссылка на декоратор (MyClass), дочерний элемент которого.
Втип подписи обратного вызова:
void Callback(DependencyObject d, DependencyPropertyChagnedEventArgs args)
d
Объект, для которого установлено присоединенное свойство. args.NewValue
& args.OldValue
- это фактическое значение свойства.
Каков наилучший способ сбора ссылки на содержащий элемент, которому принадлежит присоединенное свойство?