Что не так с пользовательским прикрепленным свойством? - PullRequest
1 голос
/ 05 марта 2010

В visual studio при запуске раскадровки появляется «ошибка синтаксического анализа XAML». Приложение запускается, но при наведении мыши на кнопку, которая была шаблонной, отображается ошибка.

Шаблон моих кнопок (с использованием визуальных состояний и т. Д.) Имеет круг, масштабируемый, который передается через пользовательское присоединенное свойство.

Код, который вызывает ошибку во время выполнения, имеет свойство value ниже:

<DoubleAnimationUsingKeyFrames BeginTime="00:00:00"
    Storyboard.TargetName="Document"
    Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
  <EasingDoubleKeyFrame KeyTime="00:00:00.7000000"
     Value="{Binding Path=(local:MyAttachedProperties.Scaling), RelativeSource={RelativeSource TemplatedParent}}" />
</DoubleAnimationUsingKeyFrames>;

Код для прикрепленного объекта:

public class MyAttachedProperties
{
  public static readonly DependencyProperty ScalingProperty =
    DependencyProperty.RegisterAttached("Scaling",
      typeof(double), typeof(MyAttachedProperties), null);

  // Scaling
  public static double GetScaling(DependencyObject obj) 
  { 
    return (double)obj.GetValue(ScalingProperty); 
  }
  public static void SetScaling(DependencyObject obj, double value) 
  { 
    obj.SetValue(ScalingProperty, value); 
  }
}

и для моей кнопки у меня есть:

 <Button Height="76"
         Content="Gallery"
         Style="{StaticResource MyRotatingButtonStyle}" 
         Padding="10"
         local:MyAttachedProperties.Scaling="2" />

1 Ответ

1 голос
/ 05 марта 2010

В Silverlight вы не можете привязывать объекты Animation, которые они не получают из FrameworkElement, что требуется в Silverlight 3 для привязки к работе.

Для достижения вашей цели вам нужно написать код, чтобы найти EasingDoubleKeyFrame и откорректировать значение напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...