在visual studio中,当运行故事板时,我会收到“XAML解析错误”。应用程序启动但是当我鼠标悬停已经模板化的按钮时,会显示错误。
我的按钮模板(使用视觉状态等)有一个圆形,可以缩放通过自定义附加属性传入的内容。
在运行时引发错误的代码是以下值属性:
<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" />
答案 0 :(得分:1)
在Silverlight中,您无法绑定它们不是从FrameworkElement
派生的动画对象,这是Silverlight 3中绑定工作所必需的。
要实现目标,您需要编写一些代码来查找EasingDoubleKeyFrame
并直接调整值。