У меня есть элемент управления Button
, для которого я определяю настраиваемый шаблон. Используя некоторые Storyboard
, я могу успешно управлять свойствами управления, называемыми преобразованиями и эффектами с помощью DoubleAnimation
; проблема возникла, при использовании PointAnimation
, что InvalidOperationException
брошено, как, в VS: Cannot resolve TargetName OverlayEllipse.
Настройка TargetName для PointAnimation для имени ресурса throws InvalidOperationException (XAML/Silverlight)
анимация начинается в коде, просто:
private void Button_MouseEnter(object sender, MouseEventArgs e)
{
PopUpStoryboard.Begin();
}
И отношение XAML:
<Button ...>
<Button.Resources>
<RadialGradientBrush
x:Name="OverlayBrush" ...>
<RadialGradientBrush.GradientStops>
...
</RadialGradientBrush.GradientStops>
</RadialGradientBrush>
<Storyboard x:Name="PopUpStoryboard">
...
<PointAnimation
Storyboard.TargetName="OverlayEllipse"
Storyboard.TargetProperty="(Shape.Fill)(RadialGradientBrush.GradientOrigin)"
Duration="0:0:.1"
To="0.9,1.2"/>
</Storyboard>
<Button.Resources>
<Button.Style>
<Style TargetType="Button">
...
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid>
...
<Ellipse x:Name="OverlayEllipse" Fill="{StaticResource OverlayBrush}"/>
...
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Button.Style>
</Button>
Ellipse
может решить этот ресурс, очевидно, поскольку он отображается просто отлично, и исключение выбрасывается непосредственно из вызова Storyboard.Begin
. Как я могу исправить то, что у меня есть, чтобы Storyboard
смог решить проблему по имени?
Я думал об использовании привязки StaticResource
, однако это не сработает, поскольку оно относится непосредственно к объекту, а не к его названию. Я просто попытался установить Target
, в отличие от TargetName
, используя StaticResource
связывания - это дает мне ошибку сборки (как ни странно?) О том: The property 'Target' does not exist on the type 'PointAnimation' in the namespace http://schemas.microsoft.com/winfx/2006/xaml/presentation '.
Спасибо.
Собираясь сделать этот снимок, когда я вернусь домой, нужно еще кое-что сделать для работы - покажу вам, как получится, и спасибо. –
Bah! Я исправил несколько вопросов с моим Q, главным образом до копирования и вставки из среды IDE, когда я был в середине возиться. В принципе, я пробовал это, без кубиков; Если вы не возражаете переоценивать ... (?) –
Как бы то ни было, я только что играл с ним, и исключение больше не бросается, но анимация не выполняется - на самом деле это предотвращает любой из элементов раскадровки от выполнения. О, о. –