الدالتان Back وNavigate

تغيير الشاشة التي يتم عرضها.

نظرة عامة‬

تحتوي معظم التطبيقات على شبكات متعددة. استخدم وظيفتي Back وNavigate لتغيير الشاشة التي يتم عرضها. على سبيل المثال، قم بتعيين خاصية OnSelect الخاصة بزر إلى صيغة تتضمن وظيفة Navigate إذا كنت تريد إظهار شاشة مختلفة عندما يختار المستخدم هذا الزر. في هذه الصيغة، يمكنك تحديد انتقال مرئي، مثل تلاشي، للتحكم في كيفية تغير شاشة إلى أخرى.

تقوم وظيفتا Back وNavigate بتغيير فقط الشاشة التي يتم عرضها. الشاشات غير المعروضة حاليًا تستمر في العمل خلف المشاهد. يمكنك بناء الصيغ التي تشير إلى خصائص عناصر التحكم على الشاشات الأخرى. على سبيل المثال، يمكن للمستخدم تغيير قيمة شريط التمرير على شاشة واحدة، والانتقال إلى شاشة مختلفة تستخدم هذه القيمة في الصيغة، وتحديد كيفية تأثيرها على ما يحدث في الشاشة الجديدة. يمكن للمستخدم بعد ذلك الانتقال إلى الشاشة الأصلية والتأكيد على أن شريط التمرير احتفظ بقيمته.

كما يتم المحافظة على متغيرات السياق عندما يتنقل المستخدم بين الشاشات. يمكنك استخدام وظيفة Navigate لتعيين متغير سياق أو أكثر للشاشة التي ستعرضها الصيغة، وهي الطريقة الوحيدة لتعيين متغير سياق من خارج الشاشة. يمكنك استخدام هذا الأسلوب لتمرير المعلمات إلى الشاشة. إذا كنت قد استخدمت أداة برمجة أخرى، فإن هذا الأسلوب يشبه تمرير المعلمات إلى الإجراءات.

استخدم في كائن التطبيق خاصية StartScreen للتحكم في الشاشة الأولى المراد عرضها.

يمكنك استخدام أي من الوظيفتين فقط داخل صيغة سلوك.

ينطبق على: تطبيقات اللوحة التطبيقات المستندة إلى النموذج

في الوسيطة الأولى، حدد اسم الشاشة المراد عرضها.

في الوسيطة الثانية، حدد كيف تتغير الشاشة القديمة إلى الشاشة الجديدة:

وسيطة الانتقال ‏‏الوصف التوضيح
ScreenTransition.Cover تنزلق الشاشة الجديدة في طريقة العرض، وتتحرك من اليمين إلى اليسار لتغطية الشاشة الحالية. حركه غلاف انتقال الشاشة.
ScreenTransition.CoverRight تنزلق الشاشة الجديدة في طريقة العرض، وتتحرك من اليسار إلى اليمين لتغطية الشاشة الحالية. حركه إلى اليمين لغلاف انتقال الشاشة.
ScreenTransition.Fade تختفي الشاشة الحالية لتظهر الشاشة الجديدة. حركة تلاشي انتقال الشاشة.
ScreenTransition.None (افتراضي) تحل الشاشة الجديدة محل الشاشة الحالية بسرعة. حركة لا شيء لانتقال الشاشة.
ScreenTransition.UnCover تنزلق الشاشة الحالية خارج طريقة العرض، وتتحرك من اليمين إلى اليسار، لكشف الشاشة الجديدة. حركه الكشف عن انتقال الشاشة.
ScreenTransition.UnCoverRight تنزلق الشاشة الحالية خارج طريقة العرض، وتتحرك من اليسار إلى اليمين، لكشف الشاشة الجديدة. حركه إلى اليمين لكشف انتقال الشاشة.

يمكنك استخدام وظيفة Navigate لإنشاء أو تحديث متغيرات السياق الخاصة بالشاشة الجديدة. كوسيطة ثالثة اختيارية، قم بتمرير سجل يحتوي على اسم متغير السياق كاسم عمود والقيمة الجديدة لمتغير السياق. هذا السجل هو نفس السجل الذي تستخدمه مع وظيفة UpdateContext.

قم بتعيين خاصية OnHidden الخاصة بالشاشة القديمة، وخاصية OnVisible الخاصة بالشاشة الجديدة، أو كليهما لإجراء تغييرات إضافية أثناء الانتقال. سيتم تحديث خاصية App.ActiveScreen لإظهار التغيير.

تقوم وظيفة Navigate عادةً بإرجاع صواب ولكنها ستقوم بإرجاع خطأ في حالة مواجهة خطأ.

يتم شرح متغيرات السياق الخاصة بالتنقل في المقالة التنقل بين الشاشات.

Back

ينطبق على: تطبيقات اللوحة

تقوم وظيفة Back بالإرجاع إلى الشاشة التي تم عرضها مؤخرًا.

بالنسبة لمكالمة Navigate، يقوم التطبيق بتعقب الشاشة التي ظهرت والانتقال. يمكنك استخدام مكالمات Back المتتابعة لإرجاع جميع الطرق إلى الشاشة التي ظهرت عندما بدأ المستخدم تشغيل التطبيق.

عند تشغيل وظيفة Back، يتم استخام الانتقال العكسي افتراضيًا. على سبيل المثال، إذا ظهرت شاشة خلال انتقال CoverRight، فإن وظيفة Back تستخدم كشف (الموجودة إلى اليسار) للإرجاع. تلاشي ولا شيء هما انعكاساتهما الخاصة. قم بتمرير وسيطة اختيارية إلى وظيفة Back لفرض انتقال محدد.

تقوم وظيفة Back عادةً بإرجاع صواب ولكنها تقوم بإرجاع خطأ إذا لم يتنقل المستخدم إلى شاشة أخرى منذ بدء تشغيل التطبيق.

بناء الجملة

Back( [ انتقال ] )

  • انتقال - اختياري. الانتقال المرئي لاستخدامه بين الشاشة الحالية والشاشة السابقة. ارجع إلى قائمة القيم الصالحة لهذه الوسيطة سابقًا في هذه المقالة. بشكل افتراضي، يكون الانتقال الذي تعود من خلاله الشاشة هو معكوس الانتقال الذي ظهرت من خلاله.

Navigate( شاشةانتقالUpdateContextRecord ] ] )

  • Screen - مطلوبة. الشاشة المراد عرضها. في مكان الشاشة، يمكنك أيضا استخدام عنصر تحكم على الشاشة الذي ترغب في الانتقال إلى داخله.
  • انتقال - اختياري. الانتقال المرئي لاستخدامه بين الشاشة الحالية والشاشة التالية. راجع قائمة القيم الصالحة لهذه الوسيطة سابقًا في هذه المقالة. القيمة الافتراضية هي بلا.
  • UpdateContextRecord - اختياري. سجل يحتوي على اسم عمود واحد على الأقل وقيمة لكل عمود. يقوم هذا السجل بتحديث متغيرات السياق الخاصة بالشاشة الجديدة في حالة تمريرها إلى وظيفة UpdateContext.

الأمثلة

صيغة ‏‏الوصف نتيجة
Navigate( Details ) عرض شاشة التفاصيل دون انتقال أو تغيير في قيمة متغير سياق. تظهر شاشة التفاصيل بسرعة.
Navigate( Details, ScreenTransition.Fade ) عرض شاشة التفاصيل باستخدام انتقال تلاشي. لم يتم تغيير القيمة لمتغير السياق. تتلاشى الشاشة الحالية لإظهار شاشة التفاصيل.
Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) عرض شاشة التفاصيل باستخدام انتقال تلاشي، وتحديث قيمة متغير سياقالمعرف إلى 12. تتلاشى الشاشة الحالية لإظهار شاشة التفاصيل، ويتم تعيين متغير السياق المعرف على هذه الشاشة إلى 12.
Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) عرض شاشة التفاصيل باستخدام انتقال تلاشي. تحديث قيمة متغير سياق المعرف إلى 12، وتحديث قيمة متغير سياق التلاشي إلى Color.Red. تتلاشى الشاشة الحالية لإظهار شاشة التفاصيل. تم تعيين متغير السياق المعرف على شاشة التفاصيل إلى 12، وتم تعيين متغير السياق تلاشي إلى Color.Red. إذا قمت بتغيير خاصية Fill الخاصة بعنصر تحكم على شاشة التفاصيل إلى تلاشي، سيتم عرض عنصر التحكم هذا باللون الأحمر.
Back() عرض الشاشة السابقة مع انتقال الإرجاع الافتراضي. عرض الشاشة السابقة من خلال الانتقال العكسي للانتقال الذي ظهرت من خلاله الشاشة الحالية.
Back( ScreenTransition.Cover ) عرض الشاشة السابقة مع انتقال التغطية. عرض الشاشة السابقة من خلال انتقال التغطية، بغض النظر عن الانتقال الذي ظهرت من خلال الشاشة الحالية.

خطوة بخطوة

  1. أنشئ تطبيقًا فارغًا.

  2. أضف شاشة أخرى إليه.

    يحتوي التطبيق على شاشتين فارغتين: Screen1 وScreen2.

  3. قم بتعيين خاصية Fill الخاصة بـ Screen2 إلى القيمة Gray.

  4. على Screen2، أضف زرًا، وقم بتعيين خاصية OnSelect الخاصة به إلى هذه الصيغة:

    Navigate( Screen1, ScreenTransition.Cover )
    
  5. حدد الزر أثناء الضغط على مفتاح Alt.

    تظهر Screen1 بخلفية بيضاء من خلال انتقال يغطي إلى اليسار.

  6. على Screen1، أضف زرًا، وقم بتعيين خاصية OnSelect الخاصة بها إلى هذه الصيغة:

    Back()
    
  7. حدد الزر أثناء الضغط على مفتاح Alt.

    تظهر الشاشة الثانية بخلفية رمادية من خلال انتقال يكشف إلى اليمين (معكوس التغطية).

  8. حدد الزر الموجود على كل شاشة بشكل متكرر للارتداد ذهابًا وإيابًا.

(راجع أيضاً )

استخدام متغيرات السياق