WPF (Windows Presentation Foundation) অ্যাপ্লিকেশন তৈরি করার সময়, অ্যাপ্লিকেশনটি দুটি গুরুত্বপূর্ণ XAML ফাইলের মাধ্যমে পরিচালিত হয়: App.xaml এবং MainWindow.xaml। এই দুটি ফাইল অ্যাপ্লিকেশনের কাঠামো নির্ধারণ করে এবং ইউজার ইন্টারফেস ও অ্যাপ্লিকেশনের কার্যাবলী কিভাবে সংযুক্ত হবে তা নির্ধারণ করে।
App.xaml
App.xaml ফাইলটি WPF অ্যাপ্লিকেশনের এন্ট্রি পয়েন্ট হিসেবে কাজ করে। এটি অ্যাপ্লিকেশনটির প্রধান কনফিগারেশন এবং রিসোর্স সজ্জা (resources) ডিফাইন করে। এখানে সাধারণত অ্যাপ্লিকেশন লেভেলের স্টাইল, থিম, রিসোর্সস (যেমন ইমেজ, স্টাইল, কালার স্কিম) এবং অন্যান্য কনফিগারেশন থাকে যা পুরো অ্যাপ্লিকেশন জুড়ে প্রযোজ্য।
App.xaml এর কাঠামো (Structure of App.xaml)
<Application x:Class="WPFApplication.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
<!-- এখানে অ্যাপ্লিকেশন লেভেল রিসোর্স, স্টাইল এবং থিম রাখতে পারেন -->
</Application.Resources>
</Application>
- x:Class="WPFApplication.App":
এটি অ্যাপ্লিকেশনের মূল ক্লাস ডিফাইন করে, যা C# কোডে থাকে (অর্থাৎ,App.xaml.csফাইলের সাথে সংযুক্ত)। - StartupUri="MainWindow.xaml":
এটি অ্যাপ্লিকেশন চালু হওয়ার সময় কোন উইন্ডো প্রথমে লোড হবে তা নির্ধারণ করে। এখানেMainWindow.xamlউল্লেখ করা হয়েছে, অর্থাৎ অ্যাপ্লিকেশন শুরু হলে প্রথমে MainWindow.xaml ফাইলটি লোড হবে। - Application.Resources:
এখানে আপনি অ্যাপ্লিকেশনের জন্য গ্লোবাল রিসোর্স (যেমন কালার, স্টাইল, টেমপ্লেট) ডিফাইন করতে পারেন। এর মাধ্যমে আপনি অ্যাপ্লিকেশনের সারা জুড়ে এককভাবে স্টাইল এবং থিম প্রয়োগ করতে পারবেন।
MainWindow.xaml
MainWindow.xaml হলো অ্যাপ্লিকেশনের প্রধান উইন্ডো, যেখানে ইউজার ইন্টারফেস (UI) উপাদানগুলি ডিফাইন করা হয়। এটি অ্যাপ্লিকেশনের প্রথম উইন্ডো এবং ইউজার ইন্টারঅ্যাকশন হ্যান্ডলিংয়ের জন্য ব্যবহৃত হয়। MainWindow.xaml তে সাধারণত আপনার অ্যাপ্লিকেশনের ভিজ্যুয়াল উপাদানগুলি থাকে।
MainWindow.xaml এর কাঠামো (Structure of MainWindow.xaml)
<Window x:Class="WPFApplication.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>
<Button Content="Click Me" HorizontalAlignment="Left" VerticalAlignment="Top" Width="100" Height="50" Click="Button_Click"/>
<Label Name="myLabel" Content="Hello, WPF!" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,100,0,0"/>
</Grid>
</Window>
- x:Class="WPFApplication.MainWindow":
এটি MainWindow.xaml ফাইলের সাথে সংযুক্ত C# ক্লাসকে নির্দেশ করে (অর্থাৎMainWindow.xaml.csফাইল)। এই ক্লাসে UI উপাদানগুলির কার্যাবলী সংযুক্ত করা হয়। - Title="MainWindow":
এটি উইন্ডোর টাইটেল নির্ধারণ করে, যা উইন্ডো শিরোনামে প্রদর্শিত হবে। - Height="350" Width="525":
এটি উইন্ডোর উচ্চতা এবং প্রস্থ নির্ধারণ করে। - Grid:
এটি একটি কনটেইনার কন্ট্রোল যা উইন্ডোতে অন্যান্য UI উপাদানগুলিকে (যেমন বাটন, টেক্সটবক্স, লেবেল ইত্যাদি) গ্রিডের মধ্যে সাজানোর কাজ করে।
MainWindow.xaml.cs
এই ফাইলটি MainWindow.xaml এর সাথে যুক্ত C# কোড ফাইল, যেখানে UI কন্ট্রোলগুলির কার্যাবলী (ইভেন্ট হ্যান্ডলার, প্রপার্টি সেটিংস ইত্যাদি) ডিফাইন করা হয়। এটি XAML ফাইলের পিছনে কার্যকারিতা তৈরি করে এবং ইউজার ইন্টারঅ্যাকশনের জন্য দায়ী।
MainWindow.xaml.cs এর উদাহরণ (Example of MainWindow.xaml.cs)
using System.Windows;
namespace WPFApplication
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
myLabel.Content = "Button Clicked!";
}
}
}
- InitializeComponent():
এটিMainWindow.xamlফাইলের XAML কোড লোড করে এবং UI উপাদানগুলিকে প্রোগ্রামেবল করে তোলে। - Button_Click():
এটি বাটনের ক্লিক ইভেন্ট হ্যান্ডলার। যখন বাটনে ক্লিক করা হবে, তখন লেবেলের কন্টেন্ট পরিবর্তন হবে "Button Clicked!"।
App.xaml এবং MainWindow.xaml এর সম্পর্ক (Relationship Between App.xaml and MainWindow.xaml)
- App.xaml ফাইলটি অ্যাপ্লিকেশনটির শুরুতে MainWindow.xaml কে নির্দেশ করে। এটি অ্যাপ্লিকেশনের মূল কনফিগারেশন এবং রিসোর্সের জায়গা।
- MainWindow.xaml ফাইলটি ইউজার ইন্টারফেসের মূল অংশ, যেখানে অ্যাপ্লিকেশনের UI কন্ট্রোলগুলি এবং কার্যাবলী স্থাপন করা হয়।
App.xaml অ্যাপ্লিকেশনটির লাইফ সাইকেল এবং রিসোর্স ম্যানেজমেন্ট পরিচালনা করে, আর MainWindow.xaml হলো UI উপাদানগুলির বাস্তবায়ন। App.xaml এ StartupUri="MainWindow.xaml" দিয়ে প্রথমে কোন উইন্ডো লোড হবে তা নির্ধারণ করা হয়, এবং তারপর MainWindow.xaml এ ইউজারের সাথে ইন্টারঅ্যাকশনের জন্য UI কন্ট্রোলের কার্যাবলী তৈরি করা হয়।
সারাংশ
- App.xaml: অ্যাপ্লিকেশনের কনফিগারেশন, রিসোর্স, এবং অ্যাপ্লিকেশন লেভেলের সেটিংস।
- MainWindow.xaml: অ্যাপ্লিকেশনের প্রধান উইন্ডো, যেখানে UI উপাদান ও ইভেন্ট হ্যান্ডলার থাকে।
এভাবেই WPF অ্যাপ্লিকেশনে App.xaml এবং MainWindow.xaml ফাইলগুলো একত্রে কাজ করে এবং অ্যাপ্লিকেশনটির মূল কাঠামো তৈরি করে।
Read more