2010-11-05 60 views
1

以下是我用於列表框的ItemTemplate的數據模板。它顯示了一些簡單的數據,以及一個按鈕,理想情況下應該爲DataTemplate中包含的Popup設置動畫。不幸的是,整個事情在運行時會爆炸。錯誤提示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中沒有。 Silverlight中RoutedEvent唯一支持的值是「FrameworkElement.LoadedEvent」。

您將需要BlendSDK在Silverlight中執行此類操作。

+0

嗯 - 我試圖在更簡單的情況下複製這個,希望證明你錯了,但是看起來好像你是對的。感謝您的答覆。 – 2010-11-05 20:42:04