2010-11-05 2 views
1

Ниже приведен шаблон данных, который я использую для ItemTemplate списка. Он показывает некоторые простые данные и кнопку, которая идеально должна анимировать всплывающее окно, также содержащееся в DataTemplate. К сожалению, все это взрывается во время работы. Ошибка говорит, что строка 52 неверна:Анимация изнутри DataTemplate

<EventTrigger RoutedEvent="Button.Click"> 

Вот и весь DataTemplate. Я использовал это всплывающее окно раньше, с теми же точными шаблонами контента и даже с той же анимацией в другом месте. Это только взрывается, когда я пытаюсь поместить его в DataTemplate. Я предполагаю, что анимация испытывает трудности с поиском правильной цели анимации - я надеюсь, что кто-то здесь будет знать больше.

<DataTemplate x:Key="ItemTemplate2"> 
     <Border Width="100" Height="100" BorderThickness="4" BorderBrush="Red"> 
      <StackPanel> 
       <TextBlock Text="{Binding Name}"/> 
       <TextBlock Text="{Binding Price}"/> 
       <Popup x:Name="popupContent" IsOpen="True" Margin="10,0,0,0" Grid.Row="0" > 
        <Popup.Child> 
         <Thumb x:Name="thumbContent" DragDelta="Thumb_DragDelta" Width="0" Height="0"> 
          <Thumb.Template> 
           <ControlTemplate> 
            <local:thumbTemplate Margin="0" x:Name="df" /> 
           </ControlTemplate> 
          </Thumb.Template> 
         </Thumb> 
        </Popup.Child> 
       </Popup> 
       <Button Content="Show"> 
        <Button.Triggers> 
         <EventTrigger RoutedEvent="Button.Click"> 
          <BeginStoryboard> 
           <BeginStoryboard.Storyboard> 
            <Storyboard x:Name="sbShowPopup"> 
             <DoubleAnimation Duration="0:0:1" To="200" Storyboard.TargetProperty="(FrameworkElement.Width)" Storyboard.TargetName="popupContent" d:IsOptimized="True"/> 
             <DoubleAnimation Duration="0:0:1" To="80" Storyboard.TargetProperty="(FrameworkElement.Height)" Storyboard.TargetName="popupContent" d:IsOptimized="True"/> 
            </Storyboard> 
           </BeginStoryboard.Storyboard> 
          </BeginStoryboard> 
         </EventTrigger> 
        </Button.Triggers> 
       </Button> 
      </StackPanel> 
     </Border> 
    </DataTemplate> 

ответ

1

Возможно, вы использовали это раньше, но не в Silverlight. Единственное поддерживаемое значение для RoutedEvent в Silverlight - «FrameworkElement.LoadedEvent».

Вам понадобится BlendSDK, чтобы делать подобные вещи в Silverlight.

+0

Huh - Я попытался дублировать это в более простой ситуации в надежде доказать вам, что вы ошибаетесь, но кажется, что вы правы. Спасибо за ответ. –

Смежные вопросы