2010-12-13 86 views
6

我在我的应用程序中有一个ListBox,其中包含显示一些数据的TextBlock。当用户点击它们时,TextBlock被设置为触发事件。Windows Phone 7选择列表框动画

<ListBox x:Name="ListBoxCategories" 
     Margin="0,0,-12,0" 
     ItemsSource="{Binding ListBoxItems}"> 
    <ListBox.ItemTemplate> 
    <DataTemplate> 
     <StackPanel Margin="0,0,0,17" 
        Width="432"> 
     <TextBlock Text="{Binding ItemName}" 
        TextWrapping="Wrap" 
        MouseLeftButtonDown="TextBlock_MouseLeftButtonDown" 
        Style="{StaticResource PhoneTextLargeStyle}" 
        Foreground="{StaticResource PhoneAccentBrush}" /> 
     </StackPanel> 
    </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

这个工程,我想它,但它会是巨大的,如果当用户点击一个项目,我可以提供某种形式的动画。例如,当您从手机的地址簿中选择一个联系人并点击其中一个操作(例如“发送电子邮件”或“呼叫手机”)时,在执行所选操作之前,文本会短暂移动。有没有办法做到这一点?

回答

5
  1. 创建一个混合故事板来移动文本框。

  2. 从click事件处理程序启动故事板。

  3. 在故事板完成的活动中执行您的操作。

+0

谢谢,你的回答让我看着正确的方向。 WP7的Silverlight工具包(http://silverlight.codeplex.com/)包括简化故事板的“TransitioningContentControl”。 – Praetorian 2010-12-13 17:07:09