На самом деле вы должны делать это через ресурс, по крайней мере, использование скрытого элемента управления - это слишком большой взлом для меня лично.
Что нужно выполнить, чтобы он работал:
- Свойство, к которому вы привязываете, должно быть DependencyProperty, следовательно, ваш обертывающий объект должен быть DependencyObject.
- Вы должны ссылаться на объект как статический ресурс (в отличие отдинамический ресурс) вроде этого:
<DoubleAnimation
Storyboard.Target="{StaticResource AnimationValue}"
Storyboard.TargetProperty="(local:WrappedValue.Value)"
To="0" Duration="0:0:1"/>
Ну, по общему признанию, это немного глупо иметь класс Wrapper для этого, но он чище, чем полный контроль (если вы хотите использовать элементы управлениявы можете использовать некоторые неиспользуемые свойства Tag
, например, контейнер, в котором находятся все ваши элементы управления)