2010-11-21 3 views
2

Szenario: Windows Phone 7-Anwendung mit MVVM. Ich habe eine ListBox, die an eine Sammlung von Elementen aus meinem ViewModel gebunden ist. Die Hauptanwendung dieser Ansicht besteht darin, dem Benutzer zu ermöglichen, die Elemente nach seinen Wünschen neu zu ordnen.WP7 ListBox, mit der Benutzer Artikel bestellen können

Wie implementiere ich das in WP7? Die Art, wie ich das tun möchte, wäre, dem Benutzer einfach zu erlauben, Elemente an die Position zu ziehen, die er möchte. Gibt es eine eingebaute Unterstützung für eine solche Geste? (Ich konnte keine finden).

Antwort

1

Wie von AnthonyWJones angegeben, ist der GesureListener wahrscheinlich, was Sie suchen. Ich wollte nur hinzufügen, dass Sie ein FluidMoveBehavior für die Liste verwenden können, damit die Elemente reibungslos animiert werden, wenn sich die Reihenfolge der Elemente ändert. Meiner Meinung nach gibt es eine viel verbesserte Benutzererfahrung.

Fluid bewegen Verhalten einfach genug ist, einfach „Plug in“ Ihrer vorhandenen Liste, wie folgt aus:

<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> 
Verwandte Themen