![]() |
|
[تطبيق شامل] {11} - واجهة Smart صناعة الـ Donut Chart - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4) +--- قسم : قسم البرمجة بتقنية WPF (http://vb4arb.com/vb/forumdisplay.php?fid=86) +---- قسم : قسم دورات تقنية WPF (http://vb4arb.com/vb/forumdisplay.php?fid=87) +---- الموضوع : [تطبيق شامل] {11} - واجهة Smart صناعة الـ Donut Chart (/showthread.php?tid=19973) الصفحات:
1
2
|
[تطبيق شامل] {11} - واجهة Smart صناعة الـ Donut Chart - الشاكي لله - 12-04-17 السلام عليكم ورحمة الله وبركاته .. الدرس السابق :
مشاهدة
https://www.youtube.com/watch?v=-KdRQXkZnMs اضافة NasteIn
https://marketplace.visualstudio.com/items?itemName=JoseRomaniello.NestIn
RE: [تطبيق شامل] {11} - واجهة Smart صناعة الـ Donut Chart - السندبااد - 13-04-17 درس دسم للغاية، شاهدته مراراً وطبقت معك خطوة بخطوة ولكن صادفتني مشكلتين
الأولى: حولت الكود التالي : PHP كود : root.Children.Cast<UIElement>.Where(e => e.GetType() == typeof(Arc)).ToList().ForEach(e => root.Children.Remove(e)); إلى VB.net فلم ينجح وظهر معي خطأ: PHP كود : root.Children.Cast(Of UIElement).Where(Function(e) e.GetType() Is GetType(Arc)).ToList().ForEach(Function(e) root.Children.Remove(e)) فما الكود الصحيح ؟
المشكلة الثانية سآتي إليها بعد أن تتكرم وتجيبني على هذا الاستفسار RE: [تطبيق شامل] {11} - واجهة Smart صناعة الـ Donut Chart - الشاكي لله - 13-04-17 (13-04-17, 12:32 AM)السندبااد كتب : نظريا ـ يجب ان يكون شرط الـ where هكذا (e.GetType() = GetType(Arc بعتبار ان Is ماتصلح لانها CompiledTime والـ Cast عندنا يساوي UIElement فلن يكون الشرط صحيحا RE: [تطبيق شامل] {11} - واجهة Smart صناعة الـ Donut Chart - السندبااد - 13-04-17
أخي العزيز لم يتم حل المشكلة ففي السطر السابق يظهر خطأ هنا:
PHP كود : root.Children.Remove(e)) البرنامج في المرفقات أرجو التكرم بالاطلاع عليه والمساعدة في حل المشكلة RE: [تطبيق شامل] {11} - واجهة Smart صناعة الـ Donut Chart - السندبااد - 14-04-17 الحمد لله اكتشفت الخطأ:
[attachment=13869] والكود بعد التصحيح:
PHP كود : root.Children.Cast(Of UIElement)().Where(Function(e) e.GetType() = GetType(Arc)).ToList().ForEach(Sub(e) root.Children.Remove(e)) والآن السؤال الذي يطرح نفسه:
أنت قمت بإضافة Arc للأداة في النافذة عن طريق Dialog [attachment=13870] والسؤال: كيف ممكن عن طريق الكود بيهاند أضيف ذلك في حدث كليك لزر ما مثلاً، أو في حدث اللود للنافذة ؟!؟!؟ RE: [تطبيق شامل] {11} - واجهة Smart صناعة الـ Donut Chart - الشاكي لله - 14-04-17 (14-04-17, 12:14 AM)السندبااد كتب : اولا: نعطي Name للـ GeneralBorder الحاضن للـ DonutChart ثانيا: الوصول الى الـ Conent تبعه من خلال الكود : PHP كود : //DashboardPage.csهذا احد الاساليب . اما الطريقة المرنة هي باستعمال الـ Binding للـ Categories Property واساندها لـ ViewModel وهذا مايسمى بنمط MVVM
RE: [تطبيق شامل] {11} - واجهة Smart صناعة الـ Donut Chart - السندبااد - 14-04-17 تم تنفيذ الكود الذي وضعته وبالفعل تمت العملية بنجاح ولكن لاحظت أنه لم يتم مسح الـ Arc السابقة، بل تم إضافة الـ Arc الجديدة فوقها كما تشاهد:
[attachment=13873] وأنت ذكرت أنه يجب أن يتم المسح حسب الكود الذي أضفناه في الـ Draw [attachment=13875] الملف بالمرفقات كي تشاهد على الواقع [attachment=13874] أظن أن الحل أن نضيف هذا الكود في زر التحديث، فقد جربته ونجحت العملية:
PHP كود : PieChart.categories.Clear() ![]() RE: [تطبيق شامل] {11} - واجهة Smart صناعة الـ Donut Chart - الشاكي لله - 14-04-17 يبدو انك نسيت ان تحذف الـ Categories السابقين فانت اضفت في Xaml اربع Categories وثم اضفت في الـ Codebehind اربعا اخرى وبالتالي اصبحت هناك 8 من Categories اذن لابد من كود الحذف وهو هذا PHP كود : Private Sub button_Click(sender As Object, e As RoutedEventArgs) Handles button.Clickتحياتي
RE: [تطبيق شامل] {11} - واجهة Smart صناعة الـ Donut Chart - السندبااد - 14-04-17 بالفعل أخي الحبيب أنا نسيت الحذف وقد وضعت الكود وصححته
ولكن ردي تم دمجه مع الرد السابق في هذه المشاركة
الآن الأمور تمام التمام وكل شيء غي هذا الدرس تم تطبيقه بنجاح
أسأل الله تعالى أن يسهل عليك إكمال السلسلة
وشكرنا العميق لك
RE: [تطبيق شامل] {11} - واجهة Smart صناعة الـ Donut Chart - الشاكي لله - 14-04-17 ارجو ان تكون فكرة كود الحذف الموجود في Draw مفهومة ، فذلك الكود يحذف الـ Arc Shape من الاداة لانك لما تغير على قيمة الـ Color لاحد الـ Categories راح يتم استدعاء Draw مباشرة وستقوم برسم 4 arc Shape اضافية وبالتالي احنا بحاجة الى حذف المنحنيات السابقة ![]() اما ماحصل لديك فهو انك اضفت Categories زيادة من خلال الـ Codebehind فلا علاقة لكود الحذف الموجود في Draw
|