‫مرحبًا بعودتك.
‫في هذا الفيديو ، سننشئ تطبيقًا لإضافات البيتزا والذي سيسمح لنا بإضافة إضافات إلى
‫البيتزا الخاصة بنا متى أردنا توصيلها.
‫لذلك عندما نطلب بيتزا ، نريد أن نضيفها أو نضيف سلامي ، يمكننا إضافة فطر أو جبنة موتزاريلا
‫إضافية.
‫وإذا أضفناهم جميعًا ، كما ترون ، فهناك إضافة الكل هنا في الجزء العلوي مفعلة ولديها
‫ثلاث حالات ، كما ترون ، ولديها حالة نعم أو حالة حقيقية.
‫ثم لديها دولة فارغة وحالة مزيفة.
‫حسنا.
‫لذلك هذا ما سننشئه.
‫ونعم ، دعنا نمضي قدمًا.
‫بادئ ذي بدء ، نحتاج إلى الحصول على مساحة أكبر هنا ، وسأستخدم لوحة Stack بدلاً من الشبكة.
‫مرة أخرى ، كما ترى ، مثل لوحة Stack ، هذا فقط لأن الشبكة تبذل جهدًا أكبر بكثير للإعداد إذا كنت
‫تريد أن يكون لديك شيء ، دعنا نقول ، أساسي إلى حد ما.
‫ثم هنا أريد أن أحصل على ملصق ، مجرد نص صغير ، سيكون وزن الخط
‫ثقيلًا ، وهو غامق.
‫لذلك سيكون لها وزن جريء.
‫ثم أريد أن أسميها طبقة بيتزا.
‫وبعد ذلك أحتاج إلى مربع اختيار.
‫لذلك سوف أقوم بإنشاء مربع اختيار جديد والذي سيكون له اسم KB الذي يرمز إلى
‫CheckBox All Toppings وهذا سيكون له هذه الحالة الثلاث.
‫حقيقي.
‫ما يعنيه ذلك هو أنه متصل بخانات الاختيار الأخرى التي سنحصل عليها.
‫حسنا.
‫إنها ثلاث حالات ، مما يعني أنه يمكن أن يكون لها ثلاث حالات مختلفة.
‫إذن فالواحد صحيح والآخر خاطئ.
‫والأخير بينهما.
‫لذلك يمكن أن يكون لها دولة ثالثة.
‫لهذا السبب لدينا هذه الحالة الثلاث.
‫حقيقي.
‫ثم يمكننا إضافة طريقة محددة وغير محددة.
‫لذلك سأقوم بإنشاء معالج أحداث جديد وأريد فعل ذلك يدويًا.
‫لذلك سأقوم بإنشاء معالج الأحداث الخاص بي هنا.
‫لذلك دعونا نمضي قدمًا ونفعل ذلك.
‫أنت تعرف بالفعل كيفية إنشاء معالج حدث حتى تتمكن من تجربته بنفسك.
‫يرجى المضي قدمًا ومحاولة إنشاء معالج حدث.
‫حسنًا ، هذا سيكون فراغًا خاصًا.
‫تم فحص CB الكل وتغييره ، لذلك سيكون هذا مجرد مربع اختيار ، تم فحصه جميعًا وتغييره وتم
‫استدعاءه وهنا أحتاج إلى مركز كائن ووسيطات حدث متجذرة.
‫أسميها E.
‫ثم هذا هو السحر الذي أريد أن يحدث بمجرد التحقق من هذا العنصر.
‫لكن في الوقت الحالي ليس لدي ذلك.
‫لذلك سأقوم فقط باختيار CB الذي تم تغييره.
‫لذلك سيتم استدعاؤها بمجرد فحص الكائن وما سيحدث ، وما لم يتم التحقق منه جيد
‫، ستكون في الواقع نفس الطريقة التي أريد الاتصال بها.
‫لذلك سأحتاج إلى كتابة الطريقة بطريقة محددة بحيث تعمل في كلا الاتجاهين.
‫حسنا.
‫لذلك سأستخدم كل تغيير الشيكات هنا أيضًا.
‫وكنص ، يجب أن يقول شيئًا مثل إضافة الكل.
‫وإذا ذهبنا إلى هنا ، يمكننا أن نرى أن هناك تسمية على طبقة البيتزا هذه ومن ثم لدينا مربع الاختيار هذا.
‫الآن هذا هو أكبر مربع اختيار لدينا.
‫الآن أريد أن يكون لدي لوحة مكدس تحتها ، والتي ستحتوي على مربعات الاختيار الثلاثة الأخرى.
‫لذلك دعونا ننشئ لوحة Stack جديدة وهنا أرغب في الحصول على خانة الاختيار الخاصة بي مع اسم وسأسميها CheckBox
‫Salami.
‫ثم أقوم بإضافة الخاصية المحددة هنا وسأقوم بإنشاء الحدث الخاص بي مرة أخرى.
‫لذلك ، تم تغيير Private Void CB وسأسميه تم تغييره فرديًا.
‫سيكون شيئًا ، سأسميه المرسل.
‫ثم أخيرًا لدينا تساؤلات حول جذر الحدث الذي سيطلق عليه E ، لذلك لا شيء جديد هنا.
‫الى حد كبير نفس الشيء.
‫فقط نغير الاسم هنا.
‫لذلك يجب استدعاء هذا إذا تم استدعاء هذا الجزء العلوي.
‫لذلك يتم النقر فوق مربع الاختيار العلوي هذا ويجب استدعاء المربع الآخر في كل مرة يتم فيها تحديد مربع اختيار آخر.
‫لذلك لدينا ثلاثة مربعات اختيار أخرى موجودة في لوحة المكدس هذه ، وإذا تم تحديد أحدها ، فأنا أريد استدعاء
‫هذه الطريقة.
‫لذلك سأقوم باستدعاء هذا تم تغييره عندما يتم فحصه وأيضًا عندما لا يتم تحديده.
‫لذا.
‫تم فحص CB واحد وتغييره.
‫الآن لدينا مربع الاختيار هذا.
‫وأريد إضافة نص صغير هناك أيضًا.
‫لذلك دعونا نمضي قدمًا ونضيف نصًا إلى مربع الاختيار هذا ، والذي سيكون عبارة عن كتلة نصية.
‫إذاً كتلة النص وسأضيف شيئًا مثل السلامي ولماذا أفعل هذا؟
‫لماذا أفعل ذلك بهذه الطريقة حتى أقوم بإنشاء كتلة نصية بالداخل وكل هذه الأنواع من الأشياء؟
‫لماذا لم أقوم بإضافة المحتوى فقط؟
‫حسنًا ، هذا لأنني أريد إضافة شيء جميل هنا.
‫أريد إضافة مقدمة تتم قراءتها وتكون جريئة.
‫لذلك يجب أن يكون وزن الخط غامقًا يساوي غامقًا.
‫ثم أريد أن أقول شيئًا مثل التوابل حتى نكون كما ترون ، السلامي حار الآن.
‫الآن كتلة النص أقل بقليل من إضافة الكل.
‫تمام.
‫لذلك إذا كنت ترغب في تعديله يدويًا وإضافة المزيد من التوابل إليه ، فعليك استخدام هذا الأسلوب
‫حيث تقوم بالفعل بإنشاء كائن داخل كائن أو عنصر تحكم داخل عنصر تحكم.
‫لذا فإن عنصر التحكم في كتلة النص داخل عنصر التحكم في مربع الاختيار.
‫لكن الآن سأقوم بإنشاء مربعات الاختيار الأخرى بطريقة بسيطة نوعًا ما.
‫لذا فإن مربع الاختيار الجديد سيحتوي فقط على اسم غرف اختيار مربعات الهريسة وسيتم فحصه بالفعل.
‫الباقي يمكننا نسخه.
‫سأقوم بفحص هذا أو نسخه.
‫والآن يحتاج أيضًا إلى نص وسأطلق عليه اسم عيش الغراب.
‫والآن أنسخ هذا السطر هنا وألصقه هنا وسيحصل على اسم مختلف
‫، وهو جبن الموزاريلا.
‫اضافة جبنة موتزاريلا.
‫أو ربما نسميها فقط جبن الموزاريلا.
‫موزاريلا.
‫حسنا.
‫وبالطبع ، يجب تغيير النص إلى جبن الموزاريلا أيضًا.
‫والآن ما لا أحبه هو حقيقة أن الأربعة منهم مكدسون فوق بعضهم البعض دون
‫أن أفهم أن هذا على الإطلاق سيضيف كل هؤلاء.
‫لأنه إذا أنشأنا هامشًا صغيرًا هنا ، فسيظهر بالفعل بشكل مختلف تمامًا.
‫لذا فإن شيئًا مثل خمسة بكسل أو ربما حتى عشرة بكسلات ، كما ترون الآن ، له هامش.
‫هناك مسافة صغيرة هنا لإضافة الكل والآن يبدو أن كل هؤلاء ينتمون إلى خانة الاختيار
‫"إضافة الكل".
‫وهذا رائع جدًا.
‫هذا بالضبط ما أردت.
‫حسنا.
‫حتى الآن تم إعداد ملف XAML الخاص بنا.
‫دعنا ندخل في الكود وراء وننفذ هذه الطرق ، لأننا خصصناها أو أعلنا عنها
‫، لكن لا يوجد شيء يحدث هناك حتى الآن ، ويمكننا تغيير ذلك.
‫لذا ، إذا أردنا المضي قدمًا وإضافة ثور ، فال جديد ، فالقيمة الجديدة ستكون على ما يرام ، فستكون
‫نتيجة CB جميع النقاط التي تم التحقق منها صحيحة.
‫إذا كان هذا صحيحًا ، إذا كانت هذه العبارة صحيحة ، فستكون القيمة الجديدة صحيحة.
‫وإلا فسيكون خطأ.
‫الآن ما أريد إعداده هو فحص السلامي الخاص بي.
‫أريد أن أضبط ذلك على المجلد الجديد.
‫الشيء نفسه ينطبق على الفطر والموزاريلا.
‫لذلك تم فحصه.
‫سيكون الفطر vol و cb cb جديدًا يتم فحصه في هذا المجلد الجديد.
‫فلماذا نحتاج إلى هذا الجدار الجديد أو الجدار الجديد؟
‫حسنًا ، سوف يقوم المجلد الجديد ببساطة بتعيينه على صحيح أو تعيينه على خطأ إذا تم تحديد كل هذه الطبقة.
‫لذلك إذا ضغط شخص ما على كل هذه الطبقة بحيث تكون واحدة هنا على الإطلاق ، فيجب إما تنشيطها جميعًا أو إلغاء
‫تنشيطها جميعًا.
‫وهذا ما أوجدته بهذه الطريقة الجيدة ، هذا النهج هنا.
‫الآن ، التالي هو تغييرنا الفردي.
‫وهنا أريد تعيين ES المحدد على NULL لأننا إذا تحققنا من أحدها ، فسيكون إما نشطًا أو غير
‫نشط.
‫لذلك يجب عادةً إلغاء تنشيط جميع الإضافات.
‫إذا تحققنا من تنشيط واحد باستثناء اثنين وقمنا بتنشيط الثالث ، فعندئذٍ يجب أيضًا
‫تنشيط الكل.
‫لذلك نحن هنا فقط نتحقق مما إذا تم فحص cb salami صحيحًا وما إذا كان KB mozzarella.
‫تم التحقق من صحة ذلك.
‫وأخيرًا ، إذا كان الفطر السيرة الذاتية هذا صحيحًا.
‫الآن ، بالطبع ، نحن بحاجة إلى شريحة محيطة أخرى والآن يمكننا أن نفعل ما نريده هنا.
‫وسأقول فقط أنه تم فحص جميع مكونات CB.
‫يجب أن يكون صحيحا.
‫لذلك ، إذا تم فحصها جميعًا ، لذا فطر الموزاريلا وما إلى ذلك ، إذا تم فحصها ،
‫فيجب فحص جميع الإضافات أيضًا.
‫ثم إذا كانت جميعها خاطئة ، فيجب إلغاء تنشيطها.
‫لذلك سأقوم بنسخ ذلك هنا وسأستبدل كل هذه الحقائق بالخطأ لأنها تسير في كلا الاتجاهين
‫، أليس كذلك؟
‫لذلك إما أن يتم تنشيط الكل أو يتم إلغاء تنشيط الكل في كلتا الحالتين.
‫أرغب في ضبط مربع الاختيار الخاص بي على جميع الطبقات بشكل صحيح.
‫حسنا.
‫الآن يمكننا تشغيل هذا ونحن على الإطلاق.
‫نضغط عليها ، كلهم مفعلون.
‫ثم إذا نقرت مرة أخرى ، فهذه هي الحالة الثلاثية التي كنت أتحدث عنها.
‫إذن هذا هو مكاننا؟
‫خانة الاختيار؟
‫ثلاث دول.
‫نعم ، ها هو.
‫ثم إذا قمت بإلغاء تنشيط فطر حار.
‫حسنًا ، إذا قمت بإلغاء تنشيط الكل ، كما ترى ، فسوف أذهب إلى وضع التعطيل.
‫إذا أضفت بعضًا ، أضف الكل يذهب إلى حالة ثلاثية أو ثلاث حالات.
‫علم.
‫حسنا.
‫كما ترون ، بسيط جدا.
‫هذه هي الطريقة التي يمكنك بها استخدام مربعات الاختيار الخاصة بك.
‫وبالمناسبة ، ليس عليك أن تفعل ذلك كما فعلت هنا ، أن تعطيه بنفس الطريقة.
‫كان بإمكانك إنشاء طرق فريدة جدًا لكل منهم.
‫يمكنك إنشاء مربع رسالة يعلم المستخدم بشيء ما.
‫نعم من فضلك.
‫نعم.
‫لا تنس التحقق من ذلك أيضًا أو شيء ما مثل شكرًا للتحقق من مربع الاختيار هذا لأننا
‫نقدر حقًا تعليقاتك أو أي شيء يخطر ببالك.
‫حسنا عظيم.
‫هذه هي مربعات الاختيار ونعم ، في الفيديو التالي سنمضي قدمًا في الموضوع التالي.
‫لذا أراك هناك.