هل هناك اتفاقية ملاحة شائعة في تطبيق MVVM Light Windows Phone؟

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

عندما ينقر أحد الأشخاص على الكيان ، أرغب في الانتقال إلى العرض التفصيلي لهذا الكيان.

مثال على ذلك هو منتج: يظهر في قائمة المنتجات حسب الفئة ، ويظهر في نتائج البحث ، أو قد يظهر كمفضلة مفضلة. في حالتي ، تأتي كل هذه من جدول في SQLCE التخزين المحلي.

في كل مرة أقوم فيها بطباعة الكيان بطريقة ما يمكن لشخص ما النقر عليه ، قمت بشكل أساسي بقص الشفرة نفسها: اشترك في حدث SelectionChange في مربع القائمة ، واستخرج الكيان ، واستخدم رسائل MVVM Light للإشارة إلى تغيير الكيان المحدد ، ثم استدعاء NavigationService للقيام بأعمالها.

هل عمل أحد على شيء مماثل ، وإذا كان الأمر كذلك ، فما الذي توصلت إليه؟ أو الأهم من ذلك ، إذا كان هناك بعض مجموعة أدوات MVVM Light التي أتغاضى عنها ، هل يمكنك أن توجهني في الاتجاه الصحيح؟

0

2 إجابة

I think the question here is, how do I deal with this without cut/paste the same code each time? If this is the case, maybe trying to package the entity/listbox thing in a XAML usercontrol! Take a look at this: http://www.windowsphonegeek.com/articles/Creating-a-WP7-Custom-Control-in-7-Steps

ثم إذا كان التمثيل يجب أن يكون مختلفًا ، فيمكنك إلقاء نظرة على هذا: http://www.windowsphonegeek.com/articles/Implementing-Windows-Phone-7XXXXXXTemplateSelector-and-CustomDataTemplateSelector (يقوم هذا المثال بتصميم مختلف في مربع قائمة واحد ، ولكن يمكنك تغيير ذلك إلى تطبيق نمط مختلف على كل صفحة مختلفة مع وجود مربع قائمة عليه)

0
وأضاف

هل تتصل بـ NavigationService من code-behind أو View Model الآن؟ إذا كانت الأولى ، يمكنك التحقق من WP7 Navigation arcticle by LBugnion لإثارتها من VM. إذا قمت بدمج ذلك مع سلوك EventToCommand ( مثل في هنا ) يجب أن تكون قادراً على إنشاء أمر" MyEntitySelected "لطيفة ونظيفة في VM الذي يأخذ الكيان كمعلمة.

0
وأضاف