বুধবার, ২৩ মার্চ, ২০১১

WPF (Windows Presentation Foundation) - 03

এখানে কয়েকটা WPF কন্ট্রোল নিয়ে আলোচনা করব এবং এর শেষেই আমরা ছোট একটা UI ডিজাই করে ফেলব।
TextBlock: TextBlock হচ্ছে অনেকটা লেবেলের মত, যেখানে শুধু মাত্র টেক্স দেখানো যায়, কিন্তু কিছু লিখা যায় না। লেল দিয়ে করা যায় না এমন অনেক কাজ খুব সহজেই টেক্স ব্লক দিয়ে করা যায়। যেমন
  1. লেখাকে বল্ড, ইটালিক ইত্যাদি করা
  2. লাইন ব্রেক দেয়া
  3. একাধিক লাইনের মাঝে দুরত্ব (Spacing) ঠিক করে দেয়া
  4. লেখাকে ছড়ানো (Expanding) বা কাছা-কাছি করে রাখা
  5. লেখাকে সাজানো যায়, যেমন আন্ডার-লাইন করা
  6. সুপার স্ক্রিপ্ট ও সাব স্ক্রিপ্ট ব্যাবহার করা
TextBlock এর কয়েকটা প্রোপার্টি আছে, যা দিয়ে উপরের বিষয়গুলো সম্ভব করা যায়
  1. LineHeight: নাম থেকেই বুঝা যাচ্ছে এর কাজ কি। লাইনের উচ্চতা ঠিক করা।
  2. LineStackingStrategy (পরে ব্যাখ্যা লিখব)
  3. TextTrimming (পরে ব্যাখ্যা লিখব)
  4. TextWrapping (পরে ব্যাখ্যা লিখব)
এছাড়াও লেখার মাঝে করা যায় এমন কিছু কাজ আছে যা TextBolck দিয়ে খুব সহজেই করা যায়। যেমন
  1. Bold - লেখাকে মোটা করা
  2. Hyperlink - অন্য একটা পেজের লিংক
  3. InlineUIContainer - অন্য কন্ট্রোল গুলাকে ধারন করা
  4. Italic - লেখাকে বাকানো
  5. LineBreak - নতুন লাইন শুরু করা
  6. Run - হচ্ছে TextBlock এর মধ্যে আবার নতুন একটা ব্লক, যাকে ইচ্ছে মত প্রপার্ট দেয়া যায়।
  7. Span -
  8. Underline - লেখার নিচে দাগ দেয়া
উদাহরণ-১: আমরা এমন এক লাইন টেক্সট চাই, যার মঝে একটা শব্দ বাকানো (Italic) থাকবে
<TextBlock Font>We Live in <Italic>Bangladesh</Italic></TextBlock>

উদাহরন-২: প্রায় সবগুলো প্রপার্টি নিয়ে এই উদাহরনটা দেয়া হল
<TextBlock Margin="10"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
FontSize="20" LineHeight="30"
TextWrapping="Wrap" TextTrimming="WordEllipsis"
LineStackingStrategy="BlockLineHeight">
TextBlock give several <Italic>Advantages</Italic> over label. <Bold>WPF</Bold> Introduce textBlock for .NET user.
<Underline>This aim of this Tutorial</Underline> is to familier programmer with <Run Background="Red">WPF</Run>
Now we take a <Button Width="100" >Button</Button> now i will get 1<Run BaselineAlignment="Superscript">st</Run>
class. <LineBreak />We apply line Break
</TextBlock>


আউটপুট নিচের মত হবে


----------------------****------------------------------------

TextBox: টেক্সবক্স নিয়ে বলার তেম্ন কিছু নাই। টেক্সবক্সে ব্যাবহারকারী লিখতে পারে। WPF টেক্সবক্সে অনেক সুবিধা আছে।
  1. বানান পরিক্ষা করা যায়
  2. রাইট ক্লিক করলে মেনু বের হয়, সেখানে Cut, Copy, Paste সুবিধা থাকে
  3. আনডু এবং রিডু
নিচের কোডে আমরা একটা টেক্সবক্স নিব
<TextBox Height="30" Width="250">Exling LLC</TextBox>

আউটপুট নিচের মত

---------------------------****--------------------------

এই অংশের শেষ বিষয় হচ্ছে বাটন
Button: বাটন নিয়ে নতু করে বলার কিছু নাই। সামান্য একটু বলে রাখি WPF এ Win Form বাটনের মতই বাটন হ্যান্ডেলার আছে, এবং তা ভালই ব্যাবহার করা যায়। কিন্তু WPF এ কাজ করার জন্য সবচেয়ে বেশি ব্যাবহত মডেল হচ্ছে MVVM (Model View View-Model). সেখানে ঘটনা ভিন্ন। এখন আমরা সাধারন নিয়মটা দেখব। এটি বেশ সহজ। নিচের কোড দেখেই বুঝা যাবে

<Button Width="200" Height="50" VerticalAlignment="Top" HorizontalAlignment="Center" Content="Click Me" Click="clickMe" />

আউটপুট নিচের মত হবে



এখন এর ইভেন্ট হ্যান্ডেলার তৈরি করার জন্য
  1. Click="clickMe এর উপর রাইট ক্লিক করুন
  2. Navigate to Event Handler এ ক্লিক করুন
  3. তাহলে VS নিজ থেকে আপনার জন্য clickMe এর ইভেন্ট হ্যান্ডেলার তৈরি করে দিবে।
নিচের চিত্রের মত করে ফেলুন


আসলে প্রতিটি .XAML ফাইলের পিছেনেই একটা .CS ফাইল থাকে। ইভেন্ট হ্যান্ডেলার গুলো সেখানে থাকে। চিত্রে দেখুন



বাংলায় শিখি WPF এর তৃতীয় পর্ব এখানেই শেষ।

সামনের সংখ্যায় সবচেয়ে সহজ ও ছোট কিন্তু কমপ্লিট একটা ইউজার ইন্টারফেস (UI) তৈরি করে দেখাব, যাতে সম্পুর্ন বিষয়টা একসাথে বুঝতে পারা যায়। আবারো বলি এই ব্লগের উদ্দেশ্য WPF এর সাথে পরিচয় করিয়ে দেয়া, এক্সপার্ট হতে হলে অবশ্যই অবশ্যই বই পড়তে হবে। :-)

৩টি মন্তব্য:

  1. Onek sabolil presentation . . . Maruf .. Ami to tomar fan hoye jachchi . . .

    উত্তরমুছুন
  2. দোয়া কর যেন শেষ করতে পারি @ পিঙ্কু

    উত্তরমুছুন
  3. ইভেন্ট হ্যান্ডেলার এর উপর আরো কিছু লেখা দরকার ছিল বলে মনে করছি...বিশেষ করে কিভাবে ভিউ-এর ব্যাপারগুলো মেইনটেইন করা হয়...

    উত্তরমুছুন