وعليكم السلام ورحمة الله وبركاته
أخ وليد هذا أعرفه جيدا وطبقته مراراً
المشكلة تكمن في عدم فهمي لبعض الأشياء في ذلك في تقنية WPF فيما بتعلق بـ وفي DataGrid
شكرا لك
السلام عليكم أخي العزيز,
قرأت مثالك, لكنك لا تقوم بملء الـ ListView أو الـ DataGrid و إنما تقوم بملء الـ ListBox
المثال لم يشتغل معي, دائماً يظهر (غير موجود) و قمت بإضافة شرط Case أخر و إشتغل و قام بعرض النتيجة في الـ ListBox.
فأرجوا إيضاح ما تريده.
السلام عليكم
االسلام عليكم و رحمة الله و بركاته أخي السندبااد
تفضل المثال مع الشرح في المرفقات
السلام عليكم
السلام عليكم ورحمة الله وبركاته
جزاك الله ووالديك الفردوس الأعلى أستاذنا الحبيب أبو إبراهيم
هذا هو ما أريده بالفعل وما شاء الله عليك هذا يدل على تضلعك بهذه التقنية الرائعة
ولكن لي بعض التعقيبات لو تكرمت :
أولاً : لماذا الأمور معقدة بعض الشيء هنا في WPF ؟
يعني تم إضافة كلاس جديد من أجل نقطة كان يتم معالجتها في WindowsForms بسطر واحد لكل حقل في الجدول
يعني أنا عندي ثلاثة حقول كان يكفي لها ثلاثة أسطر في WindowsForms
؟!؟!؟
ثانياً : عند التعامل مع البيانات وقواعد البيانات في تقنية WPF فأي أداة عرض تعتبرها الأفضل ولماذا ؟
هل تفضل DataGrid أم ListView أم شيء آخر ؟
لك مني جزيل الشكر وٍأسأل الله تعالى لك العمر المديد والعمل الصالح الرشيد
(06-11-14, 10:51 PM)السندبااد كتب : [ -> ]السلام عليكم ورحمة الله وبركاته
جزاك الله ووالديك الفردوس الأعلى أستاذنا الحبيب أبو إبراهيم
هذا هو ما أريده بالفعل وما شاء الله عليك هذا يدل على تضلعك بهذه التقنية الرائعة
ولكن لي بعض التعقيبات لو تكرمت :
أولاً : لماذا الأمور معقدة بعض الشيء هنا في WPF ؟
يعني تم إضافة كلاس جديد من أجل نقطة كان يتم معالجتها في WindowsForms بسطر واحد لكل حقل في الجدول
يعني أنا عندي ثلاثة حقول كان يكفي لها ثلاثة أسطر في WindowsForms
؟!؟!؟
ثانياً : عند التعامل مع البيانات وقواعد البيانات في تقنية WPF فأي أداة عرض تعتبرها الأفضل ولماذا ؟
هل تفضل DataGrid أم ListView أم شيء آخر ؟
لك مني جزيل الشكر وٍأسأل الله تعالى لك العمر المديد والعمل الصالح الرشيد
شكرا لاخونا العزيز ابو ابراهيم على حل المشكلة ..
انا فقط سأعقب على النقطتين :-
اولا : شغلة اضافة الـ Class او مايسمى فعليا بالModel ، على العكس تماما هذه هي الطريقة المثلى للتعامل مع البيانات ، ان يكون لكل جدول Model خاص به ، ليش ؟
اول شيئ واهم شيئ انه يسهل عمليات الBinding (وكما نعرف WPF تتميز بنظام Binding خرافي) ، فلما انت تسوي Model بتقدر تربط الProperty بالDatagrid
الشيئ الثاني هو سهولة التعامل مع البيانات ، ايهما افضل انك تتعامل مع Array او انك تتعامل مع Object بكامل خواصه ؟؟
بالطبع الاوبجكت اسهل وافضل للنقل والتخزين فيما لو كنت مثلا تريد نقل بيانات من موقع الى اخر.
اما النقطة الثانية ، ايهما افضل الـ Datagrid او الListView؟
طبعا للتفاعل مع المستخدم نستخدم الDatagrid ، بحكم انها تسهل على المستخدم عمل Input لبياناته وكذلك عرض المعلومات
صورة للDatagrid :-
وايضا
^لاحظ يمكن للمستخدم عمل Input لبياناته .
اما الListView تستعمل شائعا لعرض البيانات فقط وليس للInput
صورة للListview :
تحياتي
السلام عليكم ورحمة الله وبركاته
ألف شكر على جوابك أخي العزيز الشاكي لله
إذن WPF لها آلية يجب فهمها من قبل الوافد الجديد
فمقولة "إن مبرمج الدوت نت والسي شارب سيكتب فيها بنفس الكود الذي كان يكتب فيه في تقنية WindowsForms"
هذه المقولة ليست على إطلاقها بل لها ضوابط وأكبر دليل مسألة الليستا فيو
أحياناً أواجه عقبات كثيرة
مثلاً : في الليستا فيو لم أجد حدث ListView1_ColumnClick الذي يسمح لك بترتيب عناصر الليستا حسب الهيدر
وبعد البحث المضني اكتسفت أنه يجب عليك أن تقوم أنت ببناء هيدر في اليستا (GridViewColumnHeader) في Xaml
ثم تتحكم بالحدث كما تريد
هذه الأمور تحتاج لبحث ومتابعة وقراءة حتى يتم فهمها
هذا ما أردت الوصول إليه
يعني عندما ينتقل المبرمج من WindowsForms إلى WPF لن تكون مسألة الكود بيهايند على طبق من ذهب بالنسبة له
بل سيواجه الكثير من العقبات حتى يفهم آلية هذه التقنية
شكراً لكم
(07-11-14, 06:44 PM)السندبااد كتب : [ -> ]السلام عليكم ورحمة الله وبركاته
ألف شكر على جوابك أخي العزيز الشاكي لله
إذن WPF لها آلية يجب فهمها من قبل الوافد الجديد
فمقولة "إن مبرمج الدوت نت والسي شارب سيكتب فيها بنفس الكود الذي كان يكتب فيه في تقنية WindowsForms"
هذه المقولة ليست على إطلاقها بل لها ضوابط وأكبر دليل مسألة الليستا فيو
أحياناً أواجه عقبات كثيرة
مثلاً : في الليستا فيو لم أجد حدث ListView1_ColumnClick الذي يسمح لك بترتيب عناصر الليستا حسب الهيدر
وبعد البحث المضني اكتسفت أنه يجب عليك أن تقوم أنت ببناء هيدر في اليستا (GridViewColumnHeader) في Xaml
ثم تتحكم بالحدث كما تريد
هذه الأمور تحتاج لبحث ومتابعة وقراءة حتى يتم فهمها
هذا ما أردت الوصول إليه
يعني عندما ينتقل المبرمج من WindowsForms إلى WPF لن تكون مسألة الكود بيهايند على طبق من ذهب بالنسبة له
بل سيواجه الكثير من العقبات حتى يفهم آلية هذه التقنية
شكراً لكم
نعم هذه هي ضريبة هذه التقنية بحكم انها تدخل في التفاصيل كثيرا
تفاصيل اكثر = جهد ووقت اكثر
لكن النتيجة مذهلة وهو المطلوب
بالنسبة للوقت لو قارنا بين WPF وبين تقنية WinForm
لوجدنا ان WinForm متعبة بشكل لايصدق عندما تريد تصميم (ستايل فريد لبرنامجك)
فالوندوز فورم تستعمل الGDI المتعبة والاكواد الطويلة .
بينما WPF هي اقوى تقنية عرفتها في تصميم الواجهات والControl ، وكذلك تختصر بعض الاشياء في البرمجة بسبب توفر الAction والStoryboard والState والكثير غيرها
بالنسبة لي ، البرمجة في WPF اسهل من WinForm ، ولكنها للمبتدأ تعتبر (كالمعكرونة) لكثرة التفاصيل الموجودة في التصميم وانظمة تبادل البيانات داخل WPF ، فكما ذكرت (يتم استعمال ال Model كثيرا) وكذلك الbinding وهذه الاشياء جديدة على مستخدمي الوندوز فورم .
في النهاية احث الوافدين لهذه التقنية على عدم التخوف من هذا الكلام والصبر ، "فمن اراد العلا سهر الليالي"
بالفعل كما تفضلت جمال هذه التقنية يستحق التعب لفهمها
فهي تقنية المستقبل وكلما تعمق فيها الشخص أكثر واكتشف خباياها كلما ازداد تعلقاً بها
بصراحة شاهدت البارحة تصميماً للداتا جريد بصراحة شيء يُذهل العقل
أشياء يصعب تطبيقها بالويندوز فورم أو قد يستحيل تطبيقها
سابقاً كنت أكتب عدة أسطر من أجل تحريك النص من الأسفل للأعلى
لكن بعد درسك الأول عن الأنيميشن أصبحت أقوم بذلك دون أي سطر برمجي
لا أنكر أن هذه التقنية تحتاج لتعب وقراءة وبحث وخاصة وأن مصادرها العربية شحيحة
ولكن بقليل من التعب والبحث سنصل لمبتغانا بإذن الله تعالى
أشكرك من أعماقي أستاذي الحبيب ونسأل الله تعالى أن يجزيكم عنا خير الجزاء
ونتمنى من جميع مبدعي هذه التقنية أن يتكرموا علينا بما تفضل الله به عليهم من علمٍ فيها
ونسأل الله تعالى ان يكتب ذلك في صحيفة أعمالهم فزكاة العلم نشره
أحبائي و أصدقائي الأعزاء أعضاء هذا المنتدى, كلما أمر على قسم WPF أرى تفاعل أكثر من ذي قبل فيه, و هذا شيء مفرح جداً

الحمدلله.
بالنسبة لسؤالك أخي العزيز السندبااد, فلقد أجابك عليه إستاذنا الشاكي لله, فهو مختص في الـ Binding ما شاء الله, و كما أوضح لك أهمية الكلاسات (الفئات) في هذه التقنية.
و كذلك أنا أتفق مع أخي الشاكي لله حول النقاط المتعلقة بـ DataGrid و الـ ListView, فإن الاولى للإدخال و العرض و التعديل, و الأخيرة للعرض غالباً.
السلام عليكم