سؤال

لديّ WPF ScrollViewer الذي أستخدمه في Parning (Mousedown ، MouseMove ، Mouseup) وأود تضمين تأثير تسارع يتضمن القصور الذاتي. لذلك ، إذا كان الماوس يتجاوز سرعة العتبة وأطلق الماوس ، فإنه يستمر في التخلص منه ولكنه يبطئ كدالة للسرعة الأولية. أي أفكار أو أفكار أو أمثلة؟

هل كانت مفيدة؟

المحلول

لقد فعلت ذلك بشكل أساسي من قبل وبدأت من خلال النظر إلى ScrollViewer ، لكن في النهاية ألقيته بعيدًا واستخدمت صندوق رؤية مع قماش كطفل لتحديد المواقع المطلقة للمحتوى (كنت أؤيد Zoom Aswel كتمرير ، كان ذلك في الأساس Deepzoom بدون الصور المقاس للتكبير ، كان هناك بكسل عند التكبير مباشرة). لقد كتبت رمزًا لتحديد اتجاه الإيماءات وسرعة الإيماءة من أحداث الماوس وحولتها إلى اتجاه التمرير والسرعة ثم تحريكها من القماش الطفل في Viewbox) مع doubleanimation. لقد نجحت بشكل جيد ، ومع ذلك قد يكون هناك طريقة أفضل ...هيريس مؤشر ترابط يشير إلى استضافة Deepzoom في WPF عبر التحكم في الإطار (على الرغم من أنني لن أفعل ذلك بهذه الطريقة).

تحرير: كان ScrollViewer أساسًا مقيدًا جدًا. حتى إذا دخلت في ControlTemplate والحصول على إشارات إلى أشرطة التمرير مباشرة ، فهذا هو موقف إبهام أشرطة التمرير هذه التي ستحتاجها لتحريكها وأنا متأكد من أن هذا ما وجدته لا أستطيع فعله (كان الأمر كذلك (كان الأمر كذلك منذ ما يقرب من 3 سنوات :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top