Мне нужно передать некоторые параметры между украшателем и украшенным элементом управления.
Как это можно сделать?Должен ли я удалять и добавлять нового рекламодателя с новыми параметрами каждый раз, когда параметры меняются?
Например, один из моих параметров:
public static readonly DependencyProperty ThetaProperty =
DependencyProperty.Register("Theta", typeof (double), typeof (SplitControl), new PropertyMetadata(default(double), SetTheta));
public double Theta
{
get { return (double) GetValue(ThetaProperty); }
set { SetValue(ThetaProperty, value); }
}
private static void SetTheta(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
_adorner.Theta = (double) e.NewValue;
}
В тета рекламодателя:
public double Theta
{
get
{
return (Math.Atan(((_middleTop - _middleBottom) / AdornedElement.DesiredSize.Height))) * 180 / Math.PI;
}
set
{
double deltaX = (Math.Tan((Math.PI/180)*value))*(AdornedElement.DesiredSize.Height/2);
_middleTop = _middle + deltaX;
_middleBottom = _middle - deltaX;
}
}