سادهترین تعریف MVVM، نهایت استفاده از امکانات Binding موجود در WPF و Silverlight است. اما خوب، همیشه همه چیز بر وفق مراد نیست. مثلا کنترل WebBrowser را در WPF در نظر بگیرید. فرض کنید که میخواهیم خاصیت Source آنرا در ViewModel مقدار دهی کنیم تا صفحهای را نمایش دهد. بلافاصله با خطای زیر متوقف خواهیم شد:A 'Binding' cannot be set on the 'Source' property of type 'WebBrowser'.A 'Binding' can only be set on a DependencyProperty of a Dependen ...
در دو قسمت قبل به اینجا رسیدیم که بجای شروع به کدنویسی مستقیم در code behind یک View (یک پنجره، یک user control ...)، کلاس مجزای دیگری را به نام ViewModel به برنامه اضافه خواهیم کرد و این کلاس از وجود هیچ فرمی در برنامه مطلع نیست. بنابراین جهت انتقال رخدادها به ViewModel، بجای روش متداول تعریف روالهای رخدادگردان در Code behind:<Button Click="btnClick_Event">Last</Button>آنها را با Commands به ViewModel ارسال خواهیم کرد:<B ...
در قسمت قبل، فلسفه وجودی MVVM و MVC و امثال آنرا به بیانی ساده مطالعه کردید. همچنین به اینجا رسیدیم که بجای نوشتن روال رخدادگردان، از Commands استفاده کنید.در این قسمت «تفکر MVVM ایی» بررسی خواهد شد! بنابراین سطح این قسمت را هم مقدماتی درنظر بگیرید.در سیستم متداول مایکروسافتی ما همیشه یک فرم داریم به همراه یک سری کنترل. برای استفاده از اینها هم در فایل code behind فرم مرتبط، امکان دسترسی به این کنترلها وجود دارد. مثلا textBox1.Text یعنی ...
مدتها از کلاس DelegateCommand معرفی شده در این آدرس استفاده میکردم. این کلاس یک مشکل جزئی دارد و آن هم عدم بررسی مجدد قسمت canExecute به صورت خودکار هست.خلاصهای برای کسانی که بار اول هست با این مباحث برخورد میکنند؛ یا MVVM به زبان بسیار ساده:در برنامه نویسی متداول سیستم مایکروسافتی، در هر سیستمی که ایجاد کرده و در هر فناوری که ارائه داده از زمان VB6 تا امروز، شما روی یک دکمه مثلا دوبار کلیک میکنید و در فایل اصطلاحا code behind این فرم ...
گاهی از اوقات شاید نیاز شود تا از یک کنترل Active-X در WPF استفاده شود؛ مثلا هیچ نمایش دهندهی PDF ایی را در ویندوز نمیتوان یافت که امکانات و کیفیت آن در حد Acrobat reader و Active-X آن باشد. یک روش استفاده از آنرا به کمک کنترل WebBrowser در WPF پیشتر در این سایت مطالعه کردهاید. روش معرفی شده برای WinForm هم در WPF قابل استفاده است که در ادامه شرح آن خواهد آمد.الف) بجای اضافه کردن یک User control مخصوص WPF یک user control از نوع WinFo ...
تا صحبت از گزارشگیری به میان بیاید احتمالا معرفی ابزارهای تجاری مانند Reporting services ، کریستال ریپورت، stimulsoft.com ، fast-report.com و امثال آن درصدر لیست توصیه کنندگان و مشاوران قرار خواهند داشت. اما خوب برای ایجاد یک گزارشگیری ساده حتما نیازی نیست تا به این نوع ابزارهای تجاری مراجعه کرد. ابزار رایگان و سورس باز جالبی هم در این باره جهت پروژههای WPF در دسترس است:Open-Source .NET WPF Reporting Engineدر ادامه در طی یک مثال قصد داریم ...
مقدمات راهبری (Navigation) در سیلورلایت را در اینجا میتوانید مطالعه نمائید : +مطلبی را که در فصل فوق نخواهید یافت در مورد نحوهی بکارگیری الگوی MVVM جهت پیاده سازی Navigation در یک برنامهی سیلورلایت است؛ علت آن هم به این بر میگردد که این فصل پیش از مباحث Binding مطرح شد.صورت مساله:یکی از اصول MVVM این است که در ViewModel نباید ارجاعی از View وجود داشته باشد (ViewModel باید در بیخبری کامل از وجود اشیاء UI و ارجاع مستقیم به آنها طراحی ...
در این قسمت قصد داریم از امکانات جدید اعتبار سنجی تعریف شده در فضای نام استاندارد System.ComponentModel.DataAnnotations استفاده نمائیم. از سیلورلایت سه به بعد امکان استفاده از این فضای نام به سادگی در برنامههای سیلورلایت میسر است (همچنین در برنامههای ASP.Net MVC)؛ اما برای کار با آن در WPF نیاز به تعدادی متد کمکی میباشد...فهرست مطالب:فصل 5- تعیین اعتبار ورودی کاربر و الگوی MVVM مقدمه معرفی برنامه فصل مدل برنامهی فصل ViewModel برنامه فص ...
در این قسمت، MVVM Light Toolkit مورد بررسی قرار گرفته است (دریافت، نصب، به همراه ارائه 4 مثال جهت معرفی توانمندیهای آن)فهرست مطالب:فصل 4- آشنایی با MVVM Light Toolkit سایر کتابخانهها و Framework های موجود MVVM نصب قالبهای MVVM Light Toolkit مخصوص VS.Net 2008 نصب قالبهای MVVM Light Toolkit مخصوص VS.Net 2010 نصب Code Snippets مجموعه MVVM Light Toolkit در VS.Net 2008/2010 نصب فایلهای بایناری کتابخانهی MVVM Light Toolkit نصب قالبهای MV ...
در این قسمت، WPF MVVM Toolkit مایکروسافت به صورت کامل بررسی شده است (دریافت، نصب، ارائه یک مثال به همراه توضیحات و ایجاد آزمونهای واحد).فهرست مطالب:فصل 3- آشنایی با WPF MVVM Toolkit مقدمه نصب WPF Model-View-ViewModel Toolkit معرفی برنامهی فصل دادههای برنامه مدل برنامه ViewModel برنامه View برنامه افزودن Command به برنامه ایجاد آزمونهای واحد دریافت قسمت سومدریافت مثال قسمت سوم