2015-01-07 6 views
1

Я применил рабочий всплывающий-sidemenu, как в музыкальном проигрывателе Android в Windows Phone 8. Для этого я использовал Интерактивность библиотеки, чтобы получить функциональность перетаскивания.Sidemenu Windows Phone 8.1

Теперь кажется, что я больше не могу использовать функциональность в Windows 8,1. Инструмент автоматического преобразования из Microsoft не может использовать. Наш проект создан для нескольких платформ и имеет портативную библиотеку классов. Мы должны были выпустить Silverlight-Part, и поэтому она не конвертируема.

Я искал в Интернете альтернативы, как делать это с помощью gesturerecognizers, но не повезло.

Возможно, у некоторых из вас есть идея?

Thx много для любого ответа.

Здесь часть со старой библиотеки:

<i:Interaction.Behaviors> 
       <el:MouseDragElementBehavior ConstrainToParentBounds="True" 
               Dragging="MouseDragRight_Dragging" 
               DragFinished="MouseDragRight_DragFinished" 
               DragBegun="MouseDrag_DragBegan"/> 
</i:Interaction.Behaviors> 

ответ

0

Благодаря Chubosaurus Software, я понял это:

1: Создание экземпляра GestureRecognizer с необходимыми параметрами

GestureRecognizer _gestureRecognizer = new GestureRecognizer(); 
_gestureRecognizer.GestureSettings = GestureSettings.CrossSlide ; 

2: Подключение событий, которые нужно

_gestureRecognizer.CrossSliding += _gestureRecognizer_CrossSliding; 

3: В зависимости от того, какой жест вам нужен, вы должны направить события на распознаватель. В этом случае это

private void MainViewGrid_PointerMoved(object sender, PointerRoutedEventArgs e) 
{ 
    _gestureRecognizer.ProcessMoveEvents(e.GetIntermediatePoints(MainViewGrid)); 
} 

private void MainViewGrid_PointerPressed(object sender, PointerRoutedEventArgs e) 
{ 
    _gestureRecognizer.ProcessDownEvent(e.GetCurrentPoint(MainViewGrid)); 
} 

private void MainViewGrid_PointerReleased(object sender, PointerRoutedEventArgs e) 
{ 
    _gestureRecognizer.ProcessUpEvent(e.GetCurrentPoint(MainViewGrid)); 
} 
1

Отъезд GestureRecognizer. MSDN: GestureRecognizer

Класс GestureRecognizer имеет эти события.

CrossSliding

Происходит, когда пользователь выполняет слайд или салфетки жест (через один сенсорный контакт) в пределах области содержимого, который поддерживает панорамирование только вдоль одной оси. Жест должен происходить в направлении, перпендикулярном этой оси панорамирования.

Перетаскивание

Происходит, когда пользователь выполняет слайд или салфетки жест с помощью мыши или пера/стилусом (одиночный контакт). Холдинг Происходит, когда пользователь выполняет нажатие и удерживает жест (одним касанием, мышью или контактом пера/стилуса).

ManipulationCompleted

Происходит, когда входные точки поднимаются и все последующее движение (перевод, расширение, или вращение) по инерции закончилась.

ManipulationInertiaStarting

происходит, когда все контактные точки будут сняты во время манипуляций и скорость манипуляции достаточно значительная, чтобы инициировать поведение инерции (перевод, расширение, или вращение продолжается после ввода указатели сняты).

ManipulationStarted

происходит, когда один или несколько точек ввода были начаты и последующее движение (перевод, расширение, или вращение) началось.

ManipulationUpdated

Происходит после того, как один или несколько точек ввода было начато и последующее движение (перевод, расширение, или вращение) идет полным ходом.

RightTapped

Происходит, когда входной указатель интерпретируются как правые водопроводным жест, независимо от устройства ввода. Tapped Происходит, когда вход указателя интерпретируется как жест нажатия.