نقل قول نوشته شده توسط SajjadKhati مشاهده تاپیک
سلامی مجدد
دوست مون اشاره کردن .
اما دقت کنید که اگه به خاصیت های مخصوص command (مثل فعال یا غیر فعال سازی کنترل و ...) یا command های از پیش تعریف شده نیاز ندارید ، و صرفا میخواید در حد یک هندلر برای اتصال به رویداد از command استفاده کنید ، میتونید بجای command ، مستقیما از خودِ رویداد استفاده کنید .

-------------------------

در ViewModel تون ، کدهایی دیده میشه که نمیدونم برای چیه . فرضا نمیدونم متد GetPersonInfo و اشیاء هایی که توش ساخته میشن ، چی هستن .
اما دقت کنید که ViewModel فقط برای ارتباط دادن و انتقال داده از لایه ی View به لایه ی Model هست . وظیفه ی دیگه ای مثل محاسبات منطق تجاریِ برنامه و ... را نداره .

در متد GetheaderText ، از المنت و کنترل ها استفاده کردید که اشتباست . کار با کنترل ها و المنت ها ، وظیفه ی لایه ی View هست . لایه ی ViewModel صرفا ارتباط بین اون دو لایه را ایجاد میکنه و داده های مورد نیازشون را منتقل میکنه .
اون بخشی از این متد (و هر متد دیگه) را که مربوط به کار با کنترل هست را به لایه ی View و اون بخشی که مربوط به محاسبات منطق تجاری هست (و اگه وجود داره) را به لایه ی Model تون منتقل کنید .
در لایه ی ViewModel ، فقط اطلاعات مورد نیاز را بین اون دولایه منتقل کنید .


همچنین بجای اینکه اینترفیسِ INotifyPropertyChanged را برای ViewModel تون پیاده سازی کنید ، همونطور که دوستمون اشاره کردن ، میتونید کمپوننت MvvmLight را نصب کنید و از کلاس ViewModelBase ارث بری کنید . و متد RaisePropertyChanged را فقط فراخونی کنید .
خیلی ممنون از پاسختون،اینکه همه کدها رو اینجا نوشتم صرفا میخواستم روش ارتباط ویو و ویو مدل رو بدونم،فقط یه نکته دیگر اگر هر رکورد در دل خودش حاوی لیستی از جزییات باشه ایا میشه زمانی که روی رکورد کلیک کرد لیست مربوط به همون رکورد بایند بشه به لیست ویو؟
بازم بسیار تشکر از اینکه وقت میگذارید