control

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

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

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

کنترل با امکان جابجایی توسط موس در WPF

برنامه‌نویسان بخصوص کسانی که می‌خواهند برنامه‌هایی مشابه طراحی فرم( Form Builder) و یا ریپورت(Report Builder) در ویژوال‌استودیو یا نرم‌افزارهای مشابه بنویسند لازم دارند که وقتی یک شی یا یک کنترل توسط کاربر به برنامه اضافه می‌شود، کاربر بتواند آن را با استفاده از موس حرکت دهد و مکان آن را با موس مشخص کند. این کار در محیط فرم‌بیس(FormBase) با بکارگیری ایونت‌(Event)های MouseDown، MouseUp و MouseMove برای هر کنترل امکان‌پذیر است. اما در حالت فرم‌بیس شی‌ها و کنترل‌ها همگی درون یک فرم یا یک پانل(Panel) قرار دارند و حرکت درون هردو (فرم یا پانل) با استفاده از تنظیم دو خاصیت(Property) لفت(Left) و تاپ(Top) برای آن کنترل یا شی امکان‌پذیر است. اما در WPF ما پانل‌های مختلفی چون Canvas، Grid و ... داریم که تغییر مکان کنترل‌ها در آن‌ها روش‌های متفاوتی دارند. مثلا در پانل Canvas برای تنظیم محل یک شی باید با استفاده از دستورهای SetLeft و SetTop و بکارگیری خاصیت وابسته(Attached Property) Left و Top محل شی را درون Canvas تغییر داد اما برای Grid لازم است خاصیت Margin را برای آن شی یا کنترل تغییردهیم. در اینجا هدف آموزش نحوه تغییرمکان کنترل در Canvas می‌باشد.

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