نقل قول نوشته شده توسط SajjadKhati مشاهده تاپیک
سلامی مجدد
ارتباط View با ViewModel زمانی انجام میشه که View تون بخواد با Model تون ارتباط برقرار کنه . چون ViewModel ، رابط و ارتباط دهنده ی لایه های View با Model هست .

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

این ، از وظایف لایه ها .
اما روش ارتباط View با ViewModel ، به انواع مختلفی میتونه ارتباط داشته باشن .
ارتباط View با ViewModel ، میتونه توسط Binding ، توسط Command ها ، توسط رویدادها و متدها و ... انجام بشه .
ارتباط ViewModel با View هم میتونه از طریق پیاده سازی اینترفیس INotifyPropertyChanged و INotifyCollectionChanged و ObservableCollection در ViewModel (در صورتی که Binding انجام بشه) و یا توسط مقدار بازگشتی در یک متد (و ...) انجام بشه .



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

چون Binding ، زمان اجرا هم عملیاتش را انجام میده . یعنی در زمان اجرا و در رویدادِ مورد نظرش که اتفاق افتاد ، دنبال Source اش یا DataContext ئه والدش میگرده (و تا اون موقع ، میتونیم هم تغییرشون بدیم) .


ببینید الان یه مشکلی که دارم اینه طبق روش دوستمون رفتم اول اینکه از event command ایراد میگیره و طبق مثالاشون هم رفتم باز نشناخت و دوم میخوام محتواری رکورد سلکت شده رو تو ویو دریافت کنم،مننون میشم با سمپل کد راهنمایی کنید،واقعا اذیت شدم هنوز ودرست نشده