‫مرحبًا بعودتك.
‫الآن بعد أن عرفت خصائص التبعية ، حان الوقت للتحقق من ربط البيانات لأنها مرتبطة ببعضها
‫البعض أو متصلة ببعضها البعض.
‫لذلك في هذا الفيديو ، سوف نتحدث عن أوضاع الربط الأربعة المختلفة.
‫إذن أوضاع ربط البيانات ، وهناك طريقة تسمى طريقة واحدة.
‫لذلك ينتقل من مصدر الربط نحو هدف الربط.
‫ثم هناك هدف الربط نحو مصدر الربط والعكس ، وهو الوضع ثنائي الاتجاه.
‫ثم لدينا طريقة واحدة للمصدر والتي ترسل المعلومات من الهدف نحو المصدر.
‫وأخيرًا لدينا هدف الربط مرة واحدة ، وهو مصدر الربط الذي تم إجراؤه في المُنشئ أو
‫أثناء التهيئة.
‫لذلك دعونا نتحقق من مثال على ذلك.
‫يمكننا الحصول على مربع نص هنا حيث يمكننا إدخال نص فيه.
‫لذلك سأقوم فقط بإعطائها عرضًا لنفترض 100 وسأعطيها هامشًا ، دعنا نقول
‫50 بكسل.
‫الآن أريد استخدام لوحة مكدس بدلاً من الشبكة.
‫لذلك سأقوم بتغيير الاسم إلى لوحة Stack الآن في ذلك.
‫مربع الكتابة.
‫سأقوم بتعيين نص يسمى.
‫أو حسنًا ، سيقول شيئًا مثل 15.
‫وأدناه سوف أقوم بإنشاء شريط تمرير.
‫لذلك يجب أن يكون لشريط التمرير قيمة دنيا صفرية وقيمة قصوى 100.
‫لنقم الآن بتشغيل الكود كما هو حتى تتمكن من رؤية ما أنشأناه هناك.
‫وكما ترى ، هناك قيمة 15.
‫إنه مربع نص ، لذا يمكنني تغيير النص إذا أردت.
‫وهناك شريط التمرير.
‫والآن ما أريد أن أفعله هو أنني أريد ربط هذين الاثنين.
‫لذلك أريد توصيل شريط التمرير بمربع النص.
‫وكما رأيت ، هناك أربع طرق مختلفة للاتصال.
‫والطريقة التي سأستخدمها أولاً هي طريقة ربط البيانات أحادية الاتجاه.
‫لذا سأقول هنا أن نص مربع النص الخاص بي يجب أن يكون مرتبطًا.
‫لذلك سأستخدم الربط هنا وأريد أن أعرف من يجب أن ألزم؟
‫لذلك أريد أن أربط شريط التمرير.
‫لذلك من أجل التواصل مع شريط التمرير أو للوصول إلى شريط التمرير جيدًا ، يجب أن يكون لشريط التمرير
‫اسم.
‫لذلك سأعطيها الاسم ، شريط التمرير الخاص بي ، والآن يمكنني إضافة هذا الاسم هنا.
‫لذا فإن اسم العنصر الذي أريد ربطه هو شريط التمرير الخاص بي.
‫وفي الواقع هذا ليس في واصلات.
‫الآن الشيء التالي هو أنني بحاجة إلى مسار.
‫إذن ما الذي أريد الحصول عليه من شريط التمرير هذا؟
‫ويمكن أن تكون خصائص متعددة ، أليس كذلك؟
‫لكن الشيء الذي أهتم به هو القيمة لأنني أريد معرفة قيمة شريط التمرير الخاص بي.
‫لذلك أقول المسار يساوي القيمة.
‫والآن أخيرًا أحتاج إلى تعيين الوضع وسنبدأ بوضع أحادي الاتجاه.
‫وقبل أن أتمكن من اختبار ذلك ، بالطبع ، أحتاج إلى التخلص من النص القديم الذي كان لدي هناك.
‫والآن يمكننا المضي قدمًا وتشغيل الكود.
‫وسنرى إذا قمت بسحب شريط التمرير.
‫تتغير القيمة هنا أيضًا.
‫الآن كما ترى ، يحتوي على عدد كبير جدًا من قيم الفاصلة العائمة هنا أو يحتوي على قيمة فاصلة عائمة طويلة.
‫وأريد الحصول على عدد صحيح.
‫لذا ما يمكنني فعله هو أنه يمكنني استخدام شيء يسمى snap snap لتمكينه.
‫لذا ، هل تم تمكين هذه الميزة هنا وسأقول أنها صحيحة.
‫لذلك أريد أن يتم تمكينه.
‫لذلك إذا قمت بتشغيله مرة أخرى ، فسترى أننا سنحصل فقط على القيم الكاملة هنا ، الأعداد الصحيحة.
‫حسنًا ، هذا رائع.
‫لكن الآن.
‫ما يمكنك رؤيته أيضًا ، بالمناسبة ، هو أنه غير متصل بشريط التمرير.
‫لذلك يكون النص متصلًا أو أن مصدر البيانات هو شريط التمرير الخاص بنا والهدف هو مربع النص الخاص بنا.
‫كما ترى ، يتم إرسال البيانات إلى مربع النص.
‫ولكن نظرًا لأننا قمنا بتعيين الوضع على طريقة واحدة ، إذا قمت بتغيير قيمة النص الخاص بي هنا أو مربع النص الخاص بي ، فلن يكون
‫شريط التمرير مهتمًا بذلك ، لذلك لن يغير أي شيء.
‫لذلك دعونا ندخل 25 ، على سبيل المثال ، Slider لا يهتم.
‫لذلك إذا غيرنا ذلك إلى اتجاهين ، فسيهتم.
‫والآن بالمناسبة ، من أجلك فقط ، هذا هنا.
‫لذا فإن مربع النص لدينا هو مربع النص الهدف لدينا هو الهدف وشريط التمرير هو مصدر الربط.
‫لذا فإن شريط التمرير هو مصدر ملزم.
‫والآن يبدو هذا الأمر برمته هنا في الأعلى أكثر منطقية ، أليس كذلك؟
‫والآن نستخدم الوضع ثنائي الاتجاه وسترى ما يعنيه ذلك في الحالة الثانية.
‫لذا ها نحن ذا.
‫إذا قمت الآن بإدخال قيمة هنا وقمت بالضغط على علامة التبويب فقط حتى يتم أخذ القيمة في الاعتبار ،
‫ويمكنني أن أرى أن شريط التمرير الخاص بنا يغير قيمته.
‫حتى الآن هم متصلون في كلا الاتجاهين.
‫ماذا لو أردت فقط طريق واحد ولكن نحو المصدر؟
‫لذلك يجب أن يؤثر النص فقط على شريط التمرير ، ولكن يجب ألا يؤثر شريط التمرير على مربع النص.
‫حسنًا ، يمكننا استخدام طريقة واحدة لوضع المصدر ، لذا سأستخدم طريقة واحدة للمصدر.
‫لذلك دعونا نديرها مرة أخرى.
‫والآن إذا قمت بتغيير القيمة هنا ، كما ترون ، فلن يتغير شيء.
‫ولكن إذا أضفت قيمة هنا ، فإن شريط التمرير يتغير.
‫حسنا؟
‫هذه هي الطريقة الوحيدة للمصدر.
‫والآن أخيرًا ، وضع المرة الواحدة.
‫دعنا نذهب إلى نافذتنا الرئيسية XAML.
‫سنحتاج إلى كتابة بعض التعليمات البرمجية لأنه كما قلت ، يجب أن يتم ذلك أثناء التهيئة أو في
‫المنشئ.
‫وفي حالتنا ، تكون في مُنشئ نافذتنا الرئيسية ونمضي قدمًا ونستخدم هذا الربط لمرة واحدة.
‫لذا سأصل إلى شريط التمرير الخاص بي وسأقوم بتعيين القيمة على ، لنقل 30.
‫الآن أريد الوصول إلى مربع النص.
‫وكما ترى ، يمكننا ببساطة الوصول إلى شريط التمرير هذا هنا لأنه يحتوي على اسم وهو موجود في نفس الفصل
‫حتى نتمكن من الوصول إليه على الفور.
‫لكن مربع النص الآن ليس له اسم بعد ، لذلك سأعطيه اسمًا سيكون
‫مربع النص الخاص بي.
‫والآن يمكننا المضي قدمًا والوصول إلى مربع النص هذا.
‫مربع النص الخاص بي ، يجب أن يكون النص النقطي هو قيمة نقطة شريط التمرير الخاصة بي.
‫إذن الآن ستكون قيمة شريط التمرير في البداية 30 وسيكون نص مربع النص هو قيمة شريط
‫التمرير كسلسلة.
‫الذي سيكون 30 أيضًا.
‫ولكن ليس الأمر أننا قمنا بإصلاحه جيدًا ، فقد قمنا بإصلاح قيمة شريط التمرير ويتم تعيين النص هنا مرة واحدة
‫أيضًا.
‫إذن هذا هو الوضع لمرة واحدة هنا.
‫كما ترى ، إذا قمت بتغيير شريط التمرير الآن ، فلن يتغير نصنا.
‫إذا أضفت قيمة ، إذا قمت بتغيير القيمة إلى 25 ، فلن يتغير شيء أيضًا.
‫لذلك دعونا نلقي نظرة أخرى على شيء قد يكون ممتعًا بالنسبة لك أيضًا.
‫لذا الآن أريد تغيير طريقتين ، لكنني أريد أيضًا أن يتغير دون أن أضطر إلى الضغط على علامة التبويب.
‫وهذا شيء يتم تشغيله إذا استخدمنا الطريقة التالية.
‫لذلك سأضيف شيئًا ما إلى بياناتي الملزمة هنا لأنه يمكنك أن ترى أن هناك العديد من الخصائص المختلفة
‫التي يمكننا الوصول إليها.
‫والذي أريد استخدامه الآن هو مشغل مصدر التحديث.
‫هذا واحد هنا تحديث المصدر المشغل.
‫وكما ترون هنا ، فقد التركيز بشكل صريح افتراضيًا.
‫الشيء المثير للاهتمام بالنسبة لنا هو تغيير هذه الخاصية.
‫لذلك أريد أن يتم تشغيل هذا كلما تم تغيير الخاصية.
‫وهذا يعني أنه كلما تم تغيير شريط التمرير أو كلما تم تغيير النص.
‫لذلك دعونا نجري هذا مرة أخرى.
‫تذكر الآن أننا نستخدم طريقتين مرة أخرى وقمت بتعيينه عند 30 أو 30 في البداية.
‫لذلك لا يزعجك.
‫لا يزال بإمكاننا استخدامه بطريقة ثنائية الاتجاه بالطبع.
‫ولكن الآن ، إذا قمت بتغييرها إلى 25 أو حتى أثناء الكتابة ، فأنا أكتب شيئًا مثل خمسة ، خمسة
‫، حتى الخمسة تم أخذها في الاعتبار أو كنت أقوم بتغيير شيء ما.
‫لذا إذا أضفت قيمة أعلى من 100 ، فلنفترض أنني أحاول إضافة 555 ، ستلاحظ أنها تصل إلى القيمة
‫القصوى ، وهي 100.
‫لذلك إذا كنت جيدًا إذا لعبت بها ، يمكنك أن ترى أنها تغيرت مباشرة.
‫وذلك لأن لدينا هذه المعلومات الإضافية هنا والتي تنص على تغيير خاصية مصدر التحديث.
‫لذلك كلما كانت ممتلكاتنا.
‫لكن مربع النص ، وهو تغيير خاصية النص ، عندها يجب تنفيذ مشغلات مصدر التحديث
‫هذا.
‫ثم يقوم هذا النص بأكمله بتغيير شريط تمرير مربع النص ، كلهم يتغيرون ، حسنًا.
‫لأنهم ملزمون ، أليس كذلك؟
‫إنهم مرتبطون ببعضهم البعض بطريقتين.
‫هذا مثال رئيسي على ربط البيانات.
‫هناك الكثير لمعرفته حول ربط البيانات.
‫لقد ربطنا القيمة للتو ، ولكن يمكنك أيضًا ربط العديد من الجوانب الأخرى أيضًا.
‫على سبيل المثال ، هنا ترى المسار هو القيمة ، لكنك ترى أنه مسار خاصية ، ولكن هناك الكثير.
‫لنفترض أنني أريد ربط الخلفية.
‫لنفترض أن خلفية شريط التمرير الخاص بي قد تغيرت وسترى 005 وما إلى ذلك.
‫هذه هي خلفية شريط التمرير وخلفية شريط التمرير رائعة.
‫لذا ، إذا قمت الآن بتغيير خلفية شريط التمرير لنفترض أكوا ، فجأة قيمة النص الخاص بي هي
‫f01 ، f f ، لذا فهذه هي القيمة السداسية العشرية للون.
‫أكوا.
‫إذا قمت بتغييره إلى الأبيض ، يجب أن يكون الكثير من FS.
‫إذا قمت بتغييره إلى الأسود ، فيجب أن يكون هناك الكثير من الأصفار.
‫كما ترى.
‫F.
‫حسنًا ، هذه هي قيمة ألفا.
‫ثم لدينا القيمة السداسية العشرية ، صفر ، صفر صفر ، وهكذا دواليك.
‫هذا ما يمكنك فعله بالتنقيب عن البيانات ، وليس القيمة فقط.
‫يمكنك ربط كل الممتلكات التي يشاركونها مع بعضهم البعض إلى حد كبير.
‫حسنا.
‫لذا سأعود إلى القيمة هنا وأحفظ المشروع.
‫لذلك أتمنى أن تكون قد استمتعت بهذا الفيديو.
‫في الفيديو التالي ، سنمضي قدمًا ونقوم ببعض الأشياء الأكثر إثارة للاهتمام مع WPF.