ما هي الاستراتيجيات الخاصة بك باستخدام مزيج التعبير عن مجمع تنفصل WPF التطبيقات ؟

StackOverflow https://stackoverflow.com/questions/820547

  •  03-07-2019
  •  | 
  •  

سؤال

لقد تم القيام تطبيقات WPF مع نمط MVVM باستخدام Visual Studio الترميز C# و XAML في الغالب باليد.

الآن لقد حصلت على ما يصل الى سرعة مع مزيج التعبير بحيث استطيع ان اضغط معا تطبيقات WPF بسرعة فقط باستخدام واجهة المستخدم الرسومية ، التي هي لطيفة جدا ، أكثر بكثير من السيطرة على تخطيط من تافه حولها مع جميع XAML عناصر 80% من وقتك.

ولكن يبدو أن بلدي تطبيقات في مزيج التعبير هي أبسط بالضرورة إلى جانب استخدام الأحداث التي يتم التعامل معها في التعليمات البرمجية خلف ، إلخ.

أجد أنه من الصعب أن نتصور كيف لي أن انتقل من هذا أبسط نهج مزيج التعبير إلى تنفصل MVVM التطبيق مع وجهات النظر ، ViewModels ، توجيه الأحداث الأوامر ، إلخ.بخلاف أن تأخذ فقط بلدي كامل المشروع في Visual Studio وإعادة ترتيب ذلك إلى النقطة التي لم أستطع تحرير بصريا بعد الآن في مزيج ، ولكن سيعود إلى استخدام مزيج لخلق قطع صغيرة من XAML أنني لصق في Visual Studio.

لأولئك منكم الذين يعملون مع تطبيقات أكثر تعقيدا مع مزيج التعبير ، ما هي الاستراتيجيات الخاصة بك لحفظ المشاريع تنفصل في MVVM الطريق ، ولكن في نفس الوقت منظم "في التعبير مزيج الطريق" (حيث لا تزال تستطيع رؤية وتحرير أجزاء كاملة من التطبيق الخاص بك في طريقة التي من المنطقي بصريا) بحيث يمكنك الاستمرار في تحريرها في مزيج واجهة المستخدم الرسومية كما أنها المقياس ؟

هل كانت مفيدة؟

المحلول

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

أنا نادرا ما تحرير المشروع الرئيسي الملفات مباشرة في مزيج.أجد أنه يخلق العلامات التي هي معقدة دون داع أو مطول.أيضا ، كما أن تصبح أكثر دراية WPF/XAML, أجد نفسي باستخدام مزيج أقل وأقل.

نصائح أخرى

لقد تم استخدام مزيج من واجهة المستخدم من المشاريع منذ الإصدار 1.أن هدفي هو أن تدمج بالكامل مصمم المشروع ، يجب محروث من خلال ما يحصل في طريق هذا الهدف.في حين لا يجري على بينة من MVVM لبعض الوقت الآن ، وأنا بطبيعة الحال وصل إلى نفس النتيجة ، وقد تم صنع ViewModels دون معرفة كان هناك نمط لهم.الآن مع مساعدة من الآخرين أن نعمل من أجل MVVM إنه يتحسن في كل وقت.أنا الآن وضعت 3 التطبيقات مع واجهة المستخدم الغنية والأداء الوظيفي حيث واجهة المستخدم تم في مزيج.قراءة جوش سميث المقالة MSDN أنظر جيسون Dolinger عمل كارل Shifflett العمل على سبيل المثال لا الحصر.

ننظر عن كثب في استخدام ICommand ، INotifyPropertyChanged ، ObservableCollections.

أيضا, ابحث عن كيف يمكنك التعامل مع الضوابط من ViewModel.وعلى سبيل المثال ، هناك ICollectionView.افترض أن لديك قائمة من الحيوانات, و لديك مجموعة من الأنواع التي تريد تصفية لهم من قبل (الطيور والثدييات.... الخ)

باستخدام ICommand و ICollectionView ، قد تعرض يكفي التحكم فيها مصمم يمكن بناء listbox لعرض الحيوانات و القائمة لإظهار قائمة عوامل تصفية.هناك ما يكفي من الوظائف في ICollectionView أن أعرف ماذا التحديد الحالي إذا كان لديك ICommand القائمة على أوامر "SortByBird", "SortByMammal" ، الخ ثم عندما قدم مصمم القائمة (على افتراض النافذة السياق كان ViewModel على هذه النافذة) أن العرض مصمم مع الخيارات المناسبة لربط.

أنا أعمل حاليا مع فريق آخر في الشركة التي أعمل شرح كيفية بلدي المشاريع حتى يتم الاستجابة بشكل إيجابي على الدور الجديد مصمم باستخدام مزيج.

لم أكن قادرا على بنجاح استخدام مزيج نهاية إلى نهاية لذلك.

أجد في الحالة العامة, انها أسرع إلى تحرير xaml باليد في مقابل (استثناء من شأنها أن تشمل أي شيء غير القياسية فرش على سبيل المثال).مزيج جدا فوق سعيدة و ليس سريع حقا قبالة إلى أعلى.

منطقة أخرى حيث مزيج مفيد حقا هو خلق أنماط/قوالب من الضوابط الحالية.

بخلاف ذلك, أنا لا تباع حتى الآن.قدراته قطرة عند استخدام رمز مثيل datacontexts لذلك ليس هناك, وأنه يميل إلى توليد عديمة الفائدة العلامات الثابتة أحجام هذه التي أنا حقا لا أحب.

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

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

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

أعتقد إذا أنه لا يمكن القيام به على الطاير, يعني في الحالة المثالية أن المطور سوف يكون له مقابل حل تشمل XAML من مزيج الحل ؟ ثم في التطبيق.xaml فقط اشارة مختلفة تبدأ الملف ؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top