![](/img/trans.png)
[英]Graphical flicker/error in animation when using scrollviewer in XAML
[英]Error when creating animation in XAML
XAML新手......我想做一些簡單的動畫。 我試圖通過此鏈接關注MSDN的示例代碼: 單擊此處
<StackPanel>
<StackPanel.Resources>
<Storyboard x:Name="myStoryboard">
<DoubleAnimation
Storyboard.TargetName="MyAnimatedRectangle"
Storyboard.TargetProperty="Opacity"
From="1.0" To="0.0" Duration="0:0:5"
AutoReverse="True" RepeatBehavior="Forever" />
</Storyboard>
</StackPanel.Resources>
<Rectangle Loaded="Start_Animation" x:Name="MyAnimatedRectangle"
Width="100" Height="100" Fill="Blue" />
</StackPanel>
我不斷收到此錯誤:“添加到IDictionary的所有對象必須具有與其關聯的Key屬性。第11行位置18”
這個錯誤是什么意思? 我如何解決它?
StackPanel
作為每個FrameworkElement
都有一個屬性Recources
,它是一個ResourceDictionary ,你只能用x:Key
屬性添加元素來識別它們(基本上這是一個IDictioanry<string, object>
)。 因此,您需要在情節提要中添加x:Key
:
<Storyboard x:Name="myStoryboard" x:Key="myStoryboardKey">
MSDN上的示例錯誤或者表示x:Key="myStoryboard"
而不是x:Name="myStoryboard"
。
用x:Key="myStoryboard"
替換x:Name="myStoryboard"
x:Key="myStoryboard"
應該足以解決此問題。
在這種情況下,您需要Key
的原因是,其背后的代碼使用的是IDictionary
,它需要一個唯一的密鑰進行標識。 http://msdn.microsoft.com/en-us/library/xfhwa508.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.