2010-11-21 25 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>