2010-11-21 4 views
2

Сценарий: приложение Windows Phone 7 с использованием MVVM. У меня есть ListBox, который связан с набором элементов из моего 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> 
Смежные вопросы