Ошибка при создании анимации в XAML - PullRequest
1 голос
/ 17 декабря 2011

Впервые в 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 "

Что означает эта ошибка?Как мне это исправить?

Ответы [ 2 ]

2 голосов
/ 17 декабря 2011

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

1 голос
/ 17 декабря 2011

Замена x:Name="myStoryboard" на x:Key="myStoryboard" должна быть достаточной для решения этой проблемы.

Причина, по которой вам нужен Key в этом случае, заключается в том, что в коде используется IDictionary, чтотребует уникальный ключ для идентификации.http://msdn.microsoft.com/en-us/library/xfhwa508.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...