XAML (Extensible Application Markup Language) হল একটি মার্কআপ ভাষা যা UI ডিজাইন এবং ডেটা বাউন্ডিংয়ের জন্য ব্যবহৃত হয়, বিশেষ করে .NET MAUI এবং WPF (Windows Presentation Foundation) এর মতো ফ্রেমওয়ার্কে। XAML ডেভেলপারদের কোড ও UI ডিজাইনকে আলাদা করতে সাহায্য করে, যার ফলে অ্যাপ্লিকেশনের স্টাইল এবং লেআউট খুব সহজে তৈরি করা যায়।
নিচে XAML এর মৌলিক সিনট্যাক্স এবং কিছু উদাহরণ দেওয়া হল:
১. বেসিক স্ট্রাকচার
XAML ফাইলের মধ্যে, সবকিছু একটি মূল উপাদান (root element) দ্বারা আবদ্ধ থাকে, যেমন ContentPage, Grid, বা StackLayout। এই উপাদানগুলি UI কন্ট্রোলগুলোর প্যারেন্ট এবং কনটেইনার হিসেবে কাজ করে।
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="MauiApp1.MainPage">
<!-- UI elements go here -->
</ContentPage>
এখানে:
ContentPageহল মূল উপাদান।xmlnsহল নেমস্পেস যা XAML উপাদানগুলিকে চিহ্নিত করে।x:Classহল C# ক্লাসের নাম, যেখানে এই XAML ফাইলের UI থাকবে।
২. UI উপাদান (UI Elements)
XAML এ বিভিন্ন ধরনের UI কন্ট্রোল ব্যবহার করা যেতে পারে। কিছু সাধারণ কন্ট্রোলের উদাহরণ:
- Label: টেক্সট প্রদর্শন করতে ব্যবহৃত হয়।
<Label Text="Hello, .NET MAUI!"
VerticalOptions="Center"
HorizontalOptions="Center" />
- Button: বাটন তৈরি করতে ব্যবহৃত হয়।
<Button Text="Click Me" />
- StackLayout: লেআউট কন্ট্রোল যা উপাদানগুলোকে স্ট্যাক করে রাখে (উপরে-নিচে বা ডান-বামে)।
<StackLayout>
<Label Text="Hello, .NET MAUI!" />
<Button Text="Click Me" />
</StackLayout>
- Grid: একটি গ্রিড লেআউট যেখানে কোষে উপাদানগুলো রাখতে পারেন।
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Text="Header" Grid.Row="0" />
<Button Text="Click Me" Grid.Row="1" />
</Grid>
৩. অ্যাট্রিবিউটস (Attributes)
XAML এ উপাদানগুলির বৈশিষ্ট্য বা অ্যাট্রিবিউটের মাধ্যমে তাদের আচরণ নিয়ন্ত্রণ করা হয়। প্রতিটি কন্ট্রোলের কিছু নির্দিষ্ট অ্যাট্রিবিউট থাকে যা তাকে কাস্টমাইজ করতে সহায়তা করে।
<Button Text="Click Me"
BackgroundColor="Blue"
TextColor="White"
WidthRequest="200"
HeightRequest="50" />
এখানে:
Textঅ্যাট্রিবিউট বাটনের লেখা নির্ধারণ করে।BackgroundColorঅ্যাট্রিবিউট বাটনের ব্যাকগ্রাউন্ড রঙ সেট করে।TextColorঅ্যাট্রিবিউট বাটনের টেক্সটের রঙ নির্ধারণ করে।WidthRequestএবংHeightRequestবাটনের আকার নির্ধারণ করে।
৪. বাউন্ডিং (Binding)
XAML এ ডেটা বাউন্ডিং খুবই গুরুত্বপূর্ণ একটি বিষয়, যেখানে UI উপাদান এবং ডেটার মধ্যে সম্পর্ক তৈরি করা হয়। উদাহরণস্বরূপ:
<Label Text="{Binding UserName}" />
এখানে, UserName হল C# কোডের একটি প্রপার্টি, যা ডেটা সোর্স হিসেবে কাজ করে এবং এটি Label এর Text প্রপার্টির সাথে বাউন্ড করা হয়েছে।
৫. ইভেন্ট (Events)
XAML এ UI কন্ট্রোলের ইভেন্ট হ্যান্ডলার সংযুক্ত করা হয়। উদাহরণস্বরূপ, একটি বাটন ক্লিক হলে কিছু কার্যকলাপ সম্পন্ন করা:
<Button Text="Click Me" Clicked="OnButtonClicked" />
এখানে, OnButtonClicked হল C# কোডে একটি মেথড যা বাটন ক্লিক হওয়ার পর কল হবে।
C# কোডে:
private void OnButtonClicked(object sender, EventArgs e)
{
DisplayAlert("Button Clicked", "You clicked the button", "OK");
}
৬. নেস্টেড এলিমেন্ট (Nested Elements)
একই উপাদানে বিভিন্ন কন্ট্রোল নেস্ট করা যেতে পারে। উদাহরণস্বরূপ, একটি StackLayout এর মধ্যে একাধিক Label এবং Button:
<StackLayout>
<Label Text="Welcome to .NET MAUI!" />
<Button Text="Click Me" />
<Label Text="Enjoy learning!" />
</StackLayout>
৭. নেস্টেড লেআউট (Nested Layouts)
XAML এ একাধিক লেআউট কন্ট্রোল একে অপরের মধ্যে রাখা যেতে পারে। উদাহরণস্বরূপ:
<Grid>
<StackLayout Grid.Row="0">
<Label Text="Stack Layout 1" />
</StackLayout>
<StackLayout Grid.Row="1">
<Label Text="Stack Layout 2" />
</StackLayout>
</Grid>
সারাংশ:
XAML হল একটি শক্তিশালী মার্কআপ ভাষা যা .NET MAUI এবং অন্যান্য .NET ফ্রেমওয়ার্কে UI ডিজাইন করতে ব্যবহৃত হয়। এটি UI কন্ট্রোলের সজ্জা, স্টাইল, বাউন্ডিং এবং ইভেন্ট হ্যান্ডলিংয়ের জন্য একটি সহজ এবং কার্যকর উপায় প্রদান করে। XAML এর মৌলিক সিনট্যাক্সে UI উপাদান এবং অ্যাট্রিবিউট ব্যবহার করে খুব দ্রুত এবং দক্ষতার সাথে অ্যাপ্লিকেশন তৈরি করা যায়।
Read more