xaml

ابزار خطکش در WPF

برنامه‌نویسان بخصوص کسانی که برنامه تهیه گزارش‌های قابل چاپ ایجاد می‌کنند حتما نیاز به یک ابزاری برای تعیین محل دقیق قرار‌گیری اطلاعات دارند مثلا فرض‌کنید می‌خواهید درون یک فرم کاغذی چاپ‌شده و آماده که سربرگ شرکت را نیز دارد اطلاعات فاکتور فروش را چاپ‌کرده و تحویل‌دهید. این‌کار درظاهر ساده می‌باشد اما قرار دادن اطلاعات دقیقا در محلی‌خاص بسیار سخت است برای نمونه قراردادن نام مشتری دقیقا در محل مورد نظر(یعنی در جلوی کلمه نام‌مشتری که روی کاغذ چاپ شده‌است) نیاز به چندین بار سعی‌وخطا دارد تا کار بدرستی انجام‌شود، اما با سعی‌وخطا هم دقیقا نمی‌توان اطلاعات را درست ارنج(Arrange) نمود. اما ابزاری مانندخطکش که ابعاد کاغذ درآن مشخص‌باشد کمکی بزرگ در این راه به برنامه‌نویس می‌کند. با این ابزار دقت قراردادن اشیا در محلی خاص افزایش یافته و امکان هم‌تراز نمودن افزایش می‌یابد. البته این ابزار از نظر امکانات بسیار ابتدایی می‌باشد، یک خطکش باید دارای واحداندازه‌گیری، قابلیت زوم(Zoom)شدن و یا اسکیلینگ(Scaling)، قابلیت اسکرول(Scroll)شدن و چندین امکان دیگری باشد تا به توان از آن استفاده نمود. در این مقاله سعی می‌گردد در چند مرحله تک‌تک قابلیت‌های موردنیاز را به آن اضافه‌نمود.

  • 516
  • 0
ادامه مطلب

تعریف یک ویژگی‌وابسته(DependencyProperty) در WPF

پیش از شروع لازم است تعریفی از ویژگی داشته‌باشیم، یک ویژگی، خاصیت و یا پراپرتی(Property) {در تمامی این مقاله ویژگی به معنی پراپرتی می‌باشد} یک مکانیزم انعطاف‌پذیر برای خواندن، نوشتن و یا محاسبه یک فیلد یا متغیر می‌باشد. ویژگی را به‌گونه‌ای می‌توان استفاده کرد که گویی یک متغیر عمومی است، یعنی مانند تعریف یک متغیرعمومی(Public) در یک کلاس عمل‌می‌کند. اما در متغیرعمومی امکان کنترل داده ورودی وجود ندارد، برای نمونه فرض کنید در کلاس شخص(Person) یک متغیرعمومی از نوع اعداد صحیح برای ورود اطلاعات قد افراد تعریف شده باشد، اما می‌دانیم قد افراد نمی‌تواند بیش از 250سانتیمتر باشد، ولی بدلیل تعریف عمومی آن، امکان کنترل قد برای جلوگیری از ورود اطلاعات نادرست نیست. اما اگر همین متغیر را به‌صورت یک ویژگی تعریف‌کنیم، امکان اعتبارسنجی(Validate) برای آن وجود دارد. در برنامه‌نویسی استاندارد(شاید استاندارد واژه مناسبی برای آن نباشد) وقتی می‌خواهید یک ویژگی تعریف‌کنید نخست یک متغیر خصوصی(Private variable) تعریف‌می‌کنید و با دستورهای Get و Set مقادیر ویژگی را تنظیم(Set) کرده و یا(Get) برمی‌گردانید(به این ویژگی‌ها CLR Property که مخفف Common Language Runtime Property است گفته‌می‌شود).

  • 813
  • 0
ادامه مطلب

بدست‌آوردن تمپلیت ابزارها‌ی تلریک و کنترل‌ها در WPF

زیبایی در طراحی ابزار یکی از صفات بارز در WPF می‌باشد، داشتن کنترل‌هایی همانند کنترل‌های موجود در برنامه‌نویسی فرم‌بیس از نظر کارایی مناسب است اما بدلیل استفاده WPF از دایرکت‌ایکس در پس‌زمینه اگر بتوان کنترل‌های گرافیکی زیباتر و جذاب‌تر با همان کارایی ایجاد کرد کاری‌است بسیار دلچسب. برنامه‌نویس‌هایی که با ابزارها و کنترل‌های تلریک آشنایی دارند, حتما RadToggleSwitchButton را دیده‌اند، یک کنترل زیبا بصورت دکمه خاموش و روشن که مانند کلید لامپ می‌باشد اما همانند یک ToggleButton در WPF عمل‌می‌کند، و یا یک RadPathButton که به شما امکان تهیه یک دکمه(Button) با شکل دلخواه(با استفاده از PathGeometry) را می‌دهد و کارایی آن دقیقا معادل Button در WPF است و یا ابزارهای ساخت منوبار و تولزبار و ... که همگی بصورت بسیار زیبا در تلریک یافت می‌شود. این قابلیت‌ها فقط بدلیل محیط گرافیکی در WPF امکان‌پذیر است. اما برای تهیه هرکدام از این کنترل‌ها باید تمپلیت(Template) آن‌ را ساخت، این‌کار چندان ساده نیست و شاید حتی دربرخی موارد غیرممکن به نظربرسد. اما اگر بشود تمپلیت یک کنترل را بدست‌آورد براحتی می‌توان نمونه مشابه(با کمی تفاوت) ایجاد کرد. در ادامه نحوه بدست‌آوردن تمپلیت یک کنترل دلخواه را خواهید دید.

  • 335
  • 0
ادامه مطلب

نقشه ایران با قابلیت انتخاب استان در WPF

موضوعات : متوسطه, سی‌شارپ, زمل

برای یک برنامه‌نویس بخصوص کسی که می‌خواهد برنامه‌ای برای مدیریت ارشد بنویسد، هیچ چیز مهمتراز نمایش داده‌ها با زیبایی هرچه‌بیشتر و قابلیت فهم بالاتر نیست. مدیریت ارشد همیشه انتظار دارد با یک نگاه تمامی اطلاعات مورد نیازش را بدست‌آورد. برای نمونه، اطلاعات فروش در استان‌ها را هم می‌توان با استفاده از یک جدول نمایش‌داد هم با استفاده از نقشه کشور. نمایش گرافیکی برروی نقشه به‌مراتب زیباتر و قابل فهم‌تر از یک جدول می‌باشد. برنامه‌نویسی هنر است اما از آن مهم‌تر نحوه نمایش و طراحی زیبا و کاربرپسند است. زمانی محیط کار در کامپیوتر سیستم عامل تکست‌بیس(TextBase) به‌نام DOS بود اما عدم زیبایی باعث تغییر محیط سیستم‌عامل به محیطی گرافیکی یعنی همین ویندوز شد که هم زیباست و هم کاربرپسند. در محیط برنامه‌نویسی WPF برای نمایش نیاز به اطلاعات موردنیاز برای دستور PATH داریم. اما از کجا چنین نقشه‌ای بیابیم که اطلاعات موردنیاز ما را داشته باشد. با یک جستجوی ساده متوجه‌می‌شوید که نقشه‌ها با فرمت svg همانی است که نیازداریم. اینگونه نقشه‌ها در اینترنت به فراوانی یافت می‌شود. فقط کافی‌است یک جستجوی ساده انجام‌دهید.

  • 543
  • 0
ادامه مطلب

گییج عمودی در WPF با استفاده از ابزارهای تلریک

اگر برنامه‌نویس کامپیوتر باشید و با داده سروکار داشته باشید لزوم گزارش‌گیری را حتما مشاهده نموده‌اید. فرض کنید یک برنامه برای منابع انسانی شرکتی نوشته‌اید و تمامی داده‌های پرسنل شرکت نیز توسط اپراتورها وارد شده، حال اگر نتوانید گزارش‌هایی از اطلاعات واردشده به برنامه را تهیه کرده و به کاربران آن ارائه نمایید، برنامه شما کارایی نخواهد داشت. یا وقتی که اطلاعات مالی شرکت را در برنامه مالی(نرم‌افزار حسابداری) وارد کرده‌اید ولی نمی‌توانید حتی گزارشی از موجودی بانک‌تان را مشاهده نمایید آنگاه آن برنامه برای شما ارزش چندانی ندارد. پس فقط ورود اطلاعات نیست که مهم است بلکه گزارش‌گیری از داده‌ها بخصوص برای کاربران آن نیز اهمیت ویژه دارد. اهمیت گزارش آنگاه مهم‌تر می‌شود که لازم باشد گزارشی به مدیریت ارشد برای تصمیم‌های مهم که می‌تواند سرنوشت شرکت را تغییر دهد ارائه نمایید. در برنامه نویسی با ابزارهایی چون ویژوال‌استودیو(Visual Studio) یا دلفی(Dephi) و ... ابزارهایی همانند ریپورت بیلدر(Report Builder) وجود دارد که به شما در ارائه گزارش کاربری کمک می‌کند، اما برای گزارش‌های مدیریتی چه باید کرد.

ابزارهایی چون کلیک‌ویو و پاوربی‌آی و ... کاملا محیط مخصوص به خود دارند و محیط گزارش‌گیری در آن‌ها از محیط نرم‌افزارنویسی جدا می‌باشد. اما آیا می‌توان محیط گرافیکی زیبایی چون کلیک‌ویو را درون ویژوال‌استودیو وارد کرد. پاسخ بلی هست. شرکت ماکروسافت برای محیط برنامه‌نویسی ویژوال‌استودیو یک پایه گرافیکی به‌نام WPF (کوتاه‌ شده (Windows Presentation Foundation ایجاد کرده‌است.

برنامه‌نویسی در این محیط کاملا با محیط اصلی ویژوال‌استودیو متفاوت است. اما فرض براین است که شما با این محیط آشنایی دارید. البته درآینده حتما آموزش برنامه‌نویسی WPF را ارائه خواهم‌کرد. درادامه نحوه ساخت یک گییج خطی عمودی(Vertical Linear Gauge) را با بکارگیری ابزارهای تلریک(Telerik) فراخواهید گرفت.

  • 504
  • 0
ادامه مطلب