1
我有一個用戶控件,其中包含一個我想動畫的自定義樣式按鈕。控制模板中的故事板訪問元素
<UserControl>
<!-- omitted namespaces etc -->
<UserControl.Resources>
<Style x:Key="myButtonStyle">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<Ellipse x:Name="ellipse" Fill="Orange" />
<es:Arc x:Name="arc" EndAngle="360" Fill="Red" StartAngle="360"/>
</Grid>
</ControlTemplate TargetType="Button">
</Setter.Value>
</Setter>
</Style>
</UserControl.Resouces>
<Grid x:Name="LayoutRoot" />
<Button Tap="Fire_Animation" x:Name="myButton" Style="{StaticResource myButtonStyle}" />
</Grid>
</UserControl>
一旦按鈕被點擊時,Fire_Animation方法開始這應該修改該按鈕的模板中的「ARC」元素的故事板。
我見過的例子爲WPF是這樣的:
// .. previous necessary method calls
StoryBoard.SetTargetName(_myAnimation, "arc");
_storyboard.Begin(myButton, myButton.Template);
但有Windows Phone中沒有這樣的「開始」過載,因此我的故事板拋出一個異常,它無法找到「圓弧」元件。有沒有其他解決方法?