下面是我用于列表框的ItemTemplate的数据模板。它显示了一些简单的数据和一个按钮,理想情况下应该为Popup设置动画,该按钮也包含在DataTemplate中。不幸的是,整个事情在运行时爆炸了。错误说第52行是错误的,这是:
<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>
答案 0 :(得分:1)
您可能之前使用过此功能但未在Silverlight中使用过。 Silverlight中RoutedEvent
唯一支持的值是“FrameworkElement.LoadedEvent”。
您需要BlendSDK才能在Silverlight中执行此类操作。