সি শার্প লেবেলটি সহ পোস্টগুলি দেখানো হচ্ছে৷ সকল পোস্ট দেখান
সি শার্প লেবেলটি সহ পোস্টগুলি দেখানো হচ্ছে৷ সকল পোস্ট দেখান

সোমবার, ২১ মার্চ, ২০১১

WPF (Windows Presentation Foundation) - 01

আমি যখন WPF শিখা শুরু করি তখন গুগোল সার্চ করে বাংলায় তেমন কিছুই দিতে পারেনি। সেই থেকে ইচ্ছা, বাংলায় WPF বা Windows Presentation Foundation সম্পর্কে কিছু লিখব। যাতে আমার মত কাউকে সার্চ করে আশাহত হতে না হয়।

WPF কি?
WPF এর সম্পূর্ণরুপ হল, Windows Presentation Foundation. যদি খুব সহজে বলি তাহলে, WPF হল ইউজার ইন্টারফেস (UI) তৈরির জন্য মাইক্রোসফটের নতুন প্রযুক্তি। পূর্বে যেখানে Windows Form ব্যাবহার হত, এখন ঠিক সেই কাজটাই WPF করে দিবে। তুলনা করলে WPF অনেকটা HTML এর মত।

তাহলে Windows Form ছেড়ে WPF কেন?
WPF ব্যাবহার করার অনেক গুলো কারন আছে। যেমন
  1. এপ্লিকাশন তৈরিতে WPF এমন কিছু মডেল সাপোর্ট করে যা দিয়ে খুব সহজেই এপ্লিকেশন তৈরি করা যায়
  2. এটা হার্ডওয়ারের সর্বোচ্চ ব্যাবহার করতে সক্ষম
  3. এটা আরো বেশি গ্রাফিক্যাল টুলস দেয়
  4. এটা ডেস্কটপ ও ব্রাউজারে সমভাবে চলতে পারে
  5. যেহেতু ব্রাউজারে চলতে পারে, তার মানে এটা দিতে প্রোগ্রাম লিখলে যেকোন ব্রাউজারেই চলবে।
  6. এর মাধ্যমে 2D এবং 3D গ্রাফিক্স তৈরি করা খুব সহজ
  7. এর গ্রাফিক্স দেখতে অনেক সুন্দর
  8. এটা ইউজার ইন্টারফেস (UI) তৈরিতে ভেক্টর গ্রাফিক্স ব্যবহার করে

WPF শিখতে কি দরকার?
  1. একটা Windows কম্পিউটার
  2. Visual Stdio 2008 or Visual Stdio 2010 (এখানে Visual Stdio 2010 দিয়ে কাজ করা হয়েছে )
  3. XML সম্পর্কে ধারনা (থাকলে ভাল)
  4. সি শার্প (C#) প্রোগ্রামিং লাংজুয়েজ (সামান্য দরকারী, VB.NET ও কাজ করা যায়)

XAML কি?
XAML এর পূর্ণরুপ হচ্ছে eXtensible Application Markup Language. সহজ কথায় XAML হচ্ছে অনেকটা HTML এর মত, এটা দিয়েই ইউজার ইন্টারফেস (UI) তৈরি করা হয়। এটা অনেকগুলা ট্যাগের সমন্বয়ে গঠিত। আসলে WPF বলতে আমরা XAML দিয়ে ইউজার ইন্টারফেস তৈরিকেই বুঝি। :-)

কিভাবে শুরু করব?

  • VS (Visual Stdio) চালু করে, ফাইল (File) থেকে নতুন প্রোজেক্ট নিতে হবে। নতুন প্রোজেক্ট থেকে WPF Application সিলেক্ট করতে হবে।


  • প্রজেক্টের নাম ও লোকেশন ঠিক করে Ok বাটনে ক্লিক করলে নিচের মত একটা উইন্ডো আসবে


  • এই উইন্ডোটা দুই ভাগে বিভক্ত। উপরের অংশে ইউজার ইন্টারফে দেখাবে, নিচের অংশে কোড। যদি আমরা কোড দেখি তাহলে তা নিচের মত, এটা একটা বেসিক টেমপ্ল্যাট দেখতে পাব, যা VS নিজ থেকে দিয়ে দেয়।

<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>

</Grid>
</Window>

ব্যাখ্যাঃ এখানে WpfApplication1 হচ্ছে প্রজেক্ট নেমস্পেস, MainWindow হচ্ছে WpfApplication1নেমস্পেসে একটা ক্লাস, xmlns এবং xmlns:x হচ্ছে এক্স এম এল নেমস্পেস (এগুলো নিয়ে পরে বিস্তারিত আলোচনা হবে)। Title হচ্ছে পেইজের টাইটেল যা একটা পেইজের সবার উপরে থাকে। VS নিজ থেকে Grid লে-আউট দিয়ে দেয়। এই হচ্ছে আমাদের ডিফল্ট কোডের বর্ণনা।

  • এখন যদি আমরা একটা লেবেল নিয়ে তাতে Hello World লেখা দেখাতে চাই তাহলে যা করতে হবে তা হচ্ছে Grid এর মাঝে লেবেল ট্যাগ নিয়ে তাতে Hello World লিখতে হবে। যেমন

<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Label>Hello World</Label>
</Grid>
</Window>

  • এখন Debug মেনু থেকে Start Debugging বা F5 চাপলে কোড কম্পাইল হয়ে নিচের মত Hello World আউটপুট দেখাবে ।



আর এখানেই বেসিক অংশটা শেষ। ;-)
এই ব্লগের উদ্দেশ্য WPF সম্পর্কে ধারনা দেয়া, এক্সপার্ট হতে হলে অবশ্যই বই পড়তে হবে।