簡體   English   中英

在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM