Вопрос

Я пишу универсальное приложение и нужно правильно обрабатывать инерцию манипулирования в манипукциидельте.Я получаю нормальные значения при манипулировании, но инерционная часть, а затем всегда ноль (как вращение, так и перевод).Он шворует, что это происходит только в Windows Phone, так как в Windows 8.1 он швы хорошо. Чтобы предотвратить вопросы, я устанавливаю ManipultulsModes.all.

Это было полезно?

Решение

Я проверил это.Inertia, безусловно, присутствует в Windows Phone 8.1

<Grid>
    <Ellipse Width="100"
             Height="100"
             HorizontalAlignment="Center"
             VerticalAlignment="Center"
             Fill="White"
             ManipulationDelta="Ellipse_ManipulationDelta"
             ManipulationMode="All">
        <Ellipse.RenderTransform>
            <CompositeTransform />
        </Ellipse.RenderTransform>
    </Ellipse>
</Grid>
.

с этим:

private void Ellipse_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
    var trasnform = (sender as FrameworkElement).RenderTransform as CompositeTransform;
    trasnform.TranslateX += e.Delta.Translation.X;
    trasnform.TranslateY += e.Delta.Translation.Y;
}
.

Не уверена проблема.Надеюсь, мой код поможет.

удачи!

Другие советы

Не используйте Delta.translation при инерции.Это вычисляемое значение, зависящее от количества времени, прошедшего, поскольку предыдущее событие было запущено.Так часто первый - это (0,0).

вместо этого сделать что-то вроде этого

if (e.IsInertial) {
    ComputeMyOwnInertia(e.Velocities)
    e.Complete(); // no more inertial events
}
.

Скорость находится в LPX / MSEC (логические пиксели от милисекунды) Умножьте его на ~ 400, чтобы получить оценку, когда инерция принесет вас.

Следующие элементы не поддерживаются на платформе Windows Phone:

    .
  • Свойство ISMANIPULTULSELADED не поддерживается.Мероприятия манипуляции включены по умолчанию на Windows Phone.
  • Поворотные преобразования не поддерживаются.
  • Инерционные события не поддерживаются.

http://technet.microsoft.com/EN-US / Windows / FF426933 (v= vs.96)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top