2010-11-21 136 views
2

场景:使用MVVM的Windows Phone 7应用程序。我有一个列表框绑定到我的ViewModel的项目集合。该视图的主要用途是允许用户根据自己的喜好重新订购商品。WP7 ListBox如何让用户订购商品

如何在WP7中实现这个功能?我想这样做的方式是简单地让用户将物品拖到他想要的位置。是否有对这种手势的内置支持? (我一直没有找到任何)。

回答

1

正如AnthonyWJones所说的,GesureListener可能就是您要找的。我只想补充一点,您可以使用FluidMoveBehavior作为列表,以便项目顺序发生更改时顺利进行动画。在我看来,它提供了大大改善的用户体验。

流体动的行为是很简单的只是“插入”到现有的列表,像这样:

<Style TargetType="ListBox" x:Key="FluidListBox"> 
    <Setter Property="ItemsPanel"> 
     <Setter.Value> 
      <ItemsPanelTemplate> 
       <StackPanel> 
        <i:Interaction.Behaviors> 
         <ei:FluidMoveBehavior AppliesTo="Children" Tag="DataContext"> 
          <ei:FluidMoveBehavior.EaseY> 
           <BackEase EasingMode="EaseInOut" Amplitude="0.5"/> 
          </ei:FluidMoveBehavior.EaseY> 
          <ei:FluidMoveBehavior.EaseX> 
           <BackEase EasingMode="EaseInOut" Amplitude="0.5"/> 
          </ei:FluidMoveBehavior.EaseX> 
         </ei:FluidMoveBehavior> 
        </i:Interaction.Behaviors> 
       </StackPanel> 
      </ItemsPanelTemplate> 
     </Setter.Value> 
    </Setter> 
</Style>