ورود

View Full Version : سوال: بایند دیتاگرید در MVVM



water_lily_2012
دوشنبه 12 فروردین 1392, 10:04 صبح
سلام
من در معماری MVVM می خواهم یک دیتاگرید را با استفاده از خروجی دستور Linq پر کنم اما چند تا چیز را نمی دونم.:متفکر:

فکر کنم باید یک پراپرتی از نوع ObservableCollection داشته باشم!
1. خوب حالا دستور لینک را در کجا بنویسم؟ در لایه Model و یا در ViewModel.
2. خروجی دستور لینک را چگونه به ObservableCollection تبدیل کنم. یعنی تنها راهش استفاده از Foreach هست و Add کردن هر سطر در Collection.:متعجب:

من با پر کردن و بایند یک شی مثل TextBox مشکلی ندارم ولی بایند دیتاگرید را درک نمی کنم.:گریه:
خواهشاً یکی راهنمایی کنه. این بایند دیتاگرید را در Model و ViewModel شرح بدهید.
تشکر.:خجالت:

sia_2007
چهارشنبه 14 فروردین 1392, 23:30 عصر
شما باید از یک MVVM Friendly Collection استفاده کنید که در حداقلی ترین حالت دارای پیاده سازی ICollectionView باشه
بله کوئری باید در سمت View Model نوشته بشه
استفاده از Observable Collection صحیح نیست
تو چه پلتفرمی ؟ سمت سرورت چیه ؟ کلاینتت چیه ؟

water_lily_2012
پنج شنبه 15 فروردین 1392, 15:17 عصر
سلام
تشکر از جوابتون
MVVM Friendly Collection چیه؟؟ لطف می کنید یک مثال بزنید. من اصلا متوجه نشدم به چه صورت هست.

با C# و MVVM Light Tollkit.

sia_2007
جمعه 16 فروردین 1392, 13:13 عصر
دوست عزیز، MVVM Friendly Collection ، به Collection ای گفته می شود که پاسخگوی این سوال شما در این پست باشد (http://barnamenevis.org/showthread.php?391697-%DA%AF%D8%B1%D9%88%D9%87-%D8%A8%D9%86%D8%AF%DB%8C-%D9%88-%D9%81%DB%8C%D9%84%D8%AA%D8%B1%DB%8C%D9%86%DA%AF-%D8%AF%DB%8C%D8%AA%D8%A7%DA%AF%D8%B1%DB%8C%D8%AF-%D8%AF%D8%B1-MVVM)

یعنی بتونید بنویسید People.GroupDescriptions.Add(new GroupDescription() { hala ba har vijegiyi } a

تا گروه بندی داشته باشید، برای شروع می تونید از Collection View استفاده کنید، در Silverlight شما Domain Data Source و Domain Collection را دارید

موفق باشید

aghayex
جمعه 16 فروردین 1392, 15:52 عصر
شما باید از یک MVVM Friendly Collection استفاده کنید که در حداقلی ترین حالت دارای پیاده سازی ICollectionView باشه

میشه توضیح بیشتری در مورد این پیشنهادتون بدید