לאחר שקצת חפרתי
ראיתי שאכן כיון שבדרך כלל לא מתאים הרעיון של גלגול ב-FLIPVIEW יוצר האובייקט לא טרח להכניס את המניפולציה הזאת של קישור בין גלגלת העכבר לחלון ב-FLIPVIEW.
האפשרות להכין לבד בצורה הפשוטה זה בדוגמא כזאת
private void flipview_PointerWheelChanged(object sender, PointerRoutedEventArgs e)
{
double dlt = e.GetCurrentPoint(flipview).Properties.MouseWheelDelta;
double ee = (1 / verticalBar.ActualWidth * (dlt / 100d));
if (e.GetCurrentPoint((UIElement)sender).Properties.MouseWheelDelta >= 0)
{
flipviewScrollViewer.ScrollToHorizontalOffset(flipviewScrollViewer.HorizontalOffset + ee);
}
else if (e.GetCurrentPoint((UIElement)sender).Properties.MouseWheelDelta < 0)
{
flipviewScrollViewer.ScrollToHorizontalOffset(flipviewScrollViewer.HorizontalOffset + ee);
}
}
את ה ScrollViewer הוצאתי מה-FLIPVIEW.
הבעיה בזה שהאירוע נוצר על פי שינוי שיני הגלגלת. מאפיין הדלתא מחזיר את המהירות בין מעבר בין שן לשן בגלגל. ואם נשנה את מיקום הגלילה על פי זה, זה יוצג בקפיצות ולא במעבר חלק. אם היה פה מאפיין XML היה אפשר לעשות אנימציה אבל אפשר לשנות את הערך רק במתודה של
ScrollToHorizontalOffset() ואם אני יהיה נורא משועמם יהיה אפשר לפתוח טרידים ולהריץ לפי טיימר את שינוי המיקום.
אם למישהוא יש פתרון קצת יותר נורמלי אשמח לדעת
צבי דויטש