مدتی هست که مشغول مطالعه و یادگیری WPF از طریق مطالب سایت هستم؛ به همین خاطر تصمیم گرفتم مطلبی را حول محور اینترفیس ICommnad گردآوری کنم و در اختیار کاربران سایت قرار دهم. سرفصلهای این مطلب : • Command چیست • اینترفیس ICommand چیست • چرا اینترفیس ICommand • ایجاد UI مورد نیاز • چگونگی استفاده از ICommand • استفاده از INotifyPropertyChanged
Command چیست ؟ در برنامه نویسی WPF به هر کلاسی که اینتر ...
در ادامهی بخش اول از سری انقیاد دادهها در WPF، نحوهی انقیاد دادهها در لیست را بررسی میکنیم. • One Way Binding بخش اول • INPC بخش اول • Tow Way Binding بخش اول • List Binding بخش دوم • Element Binding بخش دوم • Data Conversion بخش دوم
انقیاد در لیست List Binding در ابتدا متدی با نام GetEmployees را با ساختار زیر، به کلاس Employee ایجاد شدهی در بخش اول این سری آموزشی، اضافه میکنیم: public sta ...
در این مقاله مفاهیم مختلفی را در ارتباط با DataBinding بررسی خواهیم کرد: • One Way Binding بخش اول • INPC بخش اول • Tow Way Binding بخش اول • List Binding بخش دوم • Element Binding بخش دوم • Data Conversion بخش دوم در ابتدا مفهوم انقیاد دادهها یا همان DataBinding را مرور میکنیم. به فرآیند مرتبط سازی منابع اطلاعاتی به کنترلها در برنامهها یا به بیان امروزیتر، به Viewها و نمایش اطلاعات در آنها، انقیاد (Databindin ...
یکی دیگر از قابلیتهای جذاب نسخهی جدید سیشارپ، عملگر nameof است. هدف اصلی آن ارائه کدهایی با قابلیت Refactoring بهتر است؛ زیرا به جای نوشتن نام فیلدها و یا متدها در صورت نیاز به صورت hard-coded، میتوانیم از این عملگر استفاده کنیم. به عنوان مثال در زمان صدور استثناءیی از نوع ArgumentNullException باید نام آرگومان را به سازندهی این کلاس پاس دهیم. متاسفانه یکی از مشکلاتی که با رشتهها در حالت کلی وجود دارد این است که امکان دیباگ در زمان ...
تا قسمت قبلی
کنترل لیست را پر نمودیم. در این مقاله قصد داریم آخرین کنترلT یعنی تقویم
را بایند کرده و یک نکته از Binding را جهت تکمیل کردن بحث بیان کنیم. تقویم
در دروس گذشته اطلاعات را از متدی به نام GetPerson دریافت میکردیم که اطلاعات آن به شرح زیر است: public static Person GetPerson()
{
return new Person()
{
Name = "Leo",
...
یکی از Attributeهای بسیار کاربردی که در سی شارپ 5 اضافه شد CallerMemberNameAttribute بود. این صفت به یک متد اجازه میدهد که از فراخوانندهی خود مطلع شود. این صفت را میتوان بر روی یک پارامتر انتخابی که مقدار پیشفرضی دارد اعمال نمود.
استفاده از این صفت هم بسیار ساده است: private void A ( [CallerMemberName] string callerName = "")
{
Console.WriteLine("Caller is " + callerName);
}
private static void B( ...
در قسمت قبلی با مبدلها آشنا شدیم و با استفاده از این ویژگی، دو کنترل Radio Button و CheckBox را بایند کردیم. الان تنها دو کنترل مانده تا آنها را متصل کنیم؛ کنترل ListBox و تقویم، که در این قسمت لیست را بررسی میکنیم. ListBox
در مورد لیست، ما قبلا نام کشورها را با استفاده از تگ ListBoxItem به طور دستی اضافه میکردیم و هر گونه ویرایش و اضافه کردن عکس و دیگر اشیاء را داخل این تگ برای هر آیتم ...
در ادامه قسمت قبلی
قصد داریم دو کنترل دیگر را نیز بایند کنیم؛ ولی از آنجا که مقادیر آنها
رشتهای یا عددی نیست و مقداری متفاوت هست، از مبحثی به نام ValueConverter
استفاده خواهیم کرد. Value Converter چیست؟
موقعی که شما قصد بایند کردن دو نوع داده متفاوت را به هم دارید، نیاز
به یک کد واسط پیدا میکنید تا این کد واسط مقادیر شما را از مبدا دریافت
کرده و تبدیل به نوعی کند که مقصد بتواند ...
یکی از مهمترین قسمتهای برنامه، کار با دادههای بانک اطلاعاتی (یا در کل منابع اطلاعاتی) است. اینکه چگونه با آنها ارتباط برقرار کنیم و آنها را در یک قالب کاربر پسند به کاربران برنامه نشان دهیم. افزودن شیء DataContext و مفاهیمی چون DataBinding باعث ارتباط سریعتر و راحتتری با منبع دادهها شده است. همچنین این قابلیت وجود دارد که هر گونه به روز آوری در اطلاعات دریافت شده، شما را با خبر سازد تا بتوانید طبق آن چه که میخواهید اطلاعات نمایش ...
WPF همانند Windows Form شامل ابزارها یا کنترلهای داخلی است که میتوانند در تهیهی یک برنامه بسیار کارآمد باشند. در این بخش به بررسی تعدادی از این کنترلها میپردازیم و مابقی آنها را در قسمتهای آینده بررسی خواهیم کرد. در این نوشتار سعی بر این است که یک فرم ساده را با آن ایجاد کرده و مورد استفاده قرار دهیم.
این فرم دارای اطلاعاتی شامل : نام، جنسیت ، زمینههای کاری، کشور، تاریخ تولد و تصویر ...