1
我正在嘗試創建地圖應用程序,如WP7地圖。我知道在WPF中通過MatrixTransform管理地圖畫布手勢很簡單,但WP7的MatrixTransform版本功能較差。 是否有任何模式如何管理所有在ManipulationDelta事件:如何在類似地圖的應用程序上管理ManipulationDelta?
放大和縮小。現在,我讓這樣的:
var maxScale = Math.Max( args.DeltaManipulation.Scale.X, args.DeltaManipulation.Scale.Y); if (Math.Abs(maxScale - 0) > 0.0001 && ((maxScale < 1 && _scale.ScaleX > MIN_SCALE) || (maxScale > 1 && _scale.ScaleX < MAX_SCALE))) { _scale.ScaleX *= maxScale; _scale.ScaleY *= maxScale; }
其中_scale =新ScaleTransform();並且必須改進以管理畫布的位置
用手指移動地圖。通過第一步它的樣子:
_translation.X += args.DeltaManipulation.Translation.X * _scale.ScaleX; _translation.Y += args.DeltaManipulation.Translation.Y * _scale.ScaleX;
其中_translation =新TranslateTransform();
- 做一些動態的後平移,捏和拉伸
當前沒有實現,但我看在ManipulationCompleted,其中添加一些代碼爲「繼續」以更自然的方式手勢。
我正在尋找典型的解決方案來管理這個功能,可能是我的方法是錯誤的,而不是通過在ManipulationDelta
爲什麼不只是使用框架附帶的MapControl? – 2012-03-04 13:09:47