Потратил часы на поиски ответа, но пока не удалось разбить эту головоломку.
У меня есть прикрепленное свойство, которое является ObservableCollection
, и мне нужно получить UIElement узла для присоединенного свойства, чтобы правильно инициализировать эту коллекцию.
public static readonly DependencyProperty ContentProperty = DependencyProperty.RegisterAttached(
"Content", typeof(AnimaCollection), typeof(UserControl), new FrameworkPropertyMetadata(new AnimaCollection(), BehaviorPropertyChangedCallback));
<Button Width="80" Height="30">
<core:AnimaBehavior.Content>
<core:AttachedAnima ToValue=".3" />
<core:AttachedAnima ToValue="1"/>
</animaCore:AnimaBehavior.Content>
</Button>
У меня указано BehaviorPropertyChangedCallback
, но оно не запускается, когда в XAML задан сбор. Я не могу установить значение по умолчанию для свойства null
, поскольку оно не будет выполнено во время выполнения при попытке добавить новые элементы в нуль. Также, если я укажу AnimaCollection
в XAMl с базовыми элементами AttachedAnima
и установлю значение проп по умолчанию null
, обратный вызов не будет запускаться снова.
Мне нужно каким-то образом получить родительский UIElement, к которому я присоединяюсь. Таким образом, элементы коллекции могут получить ссылку на объект для работы. Любая помощь в том, как это можно сделать, будет полезна. Спасибо!