문제

저는 보편적 인 앱을 작성하고 ManipualtionDelta에서 제대로 조작 관성을 처리해야합니다.조작 할 때 정상적인 값을 얻지 만 관성 부분은 항상 0입니다 (회전 및 번역 모두).Windows 8.1에서와 같이 Windows Phone에서만 이런 일이 발생합니다. 질문을 방지하기 위해 ManipulationModes.all을 설정합니다.

도움이 되었습니까?

해결책

나는 그것을 테스트했다.관성은 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 Platform에서 지원되지 않습니다.

  • isManipulationEnabled 속성은 지원되지 않습니다.조작 이벤트는 Windows Phone에서 기본적으로 활성화됩니다.
  • 회전 변환은 지원되지 않습니다.
  • 관성 이벤트는 지원되지 않습니다.

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top