XAML কী?
XAML (Extensible Application Markup Language) হলো Microsoft এর তৈরি একটি ডিক্লারেটিভ ভাষা, যা WPF (Windows Presentation Foundation), UWP (Universal Windows Platform), এবং Xamarin এর মতো ফ্রেমওয়ার্কে ইউজার ইন্টারফেস (UI) ডিজাইন করতে ব্যবহৃত হয়। এটি মূলত XML (Extensible Markup Language) এর উপর ভিত্তি করে তৈরি এবং ব্যবহারকারীদের দ্রুত এবং সহজে UI নির্মাণের সুবিধা প্রদান করে।
XAML এর মৌলিক ধারণা
ডিক্লারেটিভ অ্যাপ্রোচ
XAML একটি ডিক্লারেটিভ প্রোগ্রামিং ভাষা। অর্থাৎ, এখানে কোড লিখে UI নির্মাণের পরিবর্তে, বিভিন্ন UI উপাদানের (components) ঘোষণা করা হয়।
উদাহরণ:
<Button Content="Click Me" Width="100" Height="50"/>
উপরের উদাহরণে, একটি Button কন্ট্রোল তৈরি করা হয়েছে যার কন্টেন্ট, প্রস্থ, এবং উচ্চতা ডিক্লারেটিভভাবে নির্ধারণ করা হয়েছে।
হায়ারার্কিকাল স্ট্রাকচার
XAML একটি হায়ারার্কিকাল স্ট্রাকচার মেনে চলে, যেখানে প্যারেন্ট এবং চাইল্ড উপাদানের সম্পর্ক গঠন করা হয়।
উদাহরণ:
<StackPanel>
<TextBlock Text="Hello, World!"/>
<Button Content="Click Me"/>
</StackPanel>
এখানে StackPanel হলো প্যারেন্ট এবং TextBlock ও Button হলো এর চাইল্ড।
ট্যাগ এবং অ্যাট্রিবিউট
- ট্যাগ: UI উপাদানগুলো ট্যাগের মাধ্যমে ঘোষণা করা হয়।
- অ্যাট্রিবিউট: ট্যাগের ভেতর বিভিন্ন প্রপার্টি বা অ্যাট্রিবিউট নির্ধারণ করা হয়।
উদাহরণ:
<Button Content="Click Me" Background="Blue" Width="100"/>
কোড-বিহাইন্ড ইন্টিগ্রেশন
XAML কোড সাধারণত একটি কোড-বিহাইন্ড ফাইলের সাথে যুক্ত থাকে, যা C# বা VB.NET দিয়ে লেখা হয়। এটি UI এবং তার লজিকের মধ্যে একটি সংযোগ স্থাপন করে।
উদাহরণ: XAML ফাইল:
<Button Name="myButton" Content="Click Me" Click="myButton_Click"/>
কোড-বিহাইন্ড ফাইল:
private void myButton_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Button clicked!");
}
ডেটা বাইন্ডিং
XAML ডেটা বাইন্ডিং সাপোর্ট করে, যা UI এবং ডেটার মধ্যে ডায়নামিক সংযোগ তৈরি করতে ব্যবহৃত হয়।
উদাহরণ:
<TextBlock Text="{Binding Name}"/>
স্টাইল এবং রিসোর্স ব্যবস্থাপনা
XAML এ স্টাইল, থিম, এবং রিসোর্স ম্যানেজ করার সুবিধা রয়েছে।
উদাহরণ:
<Window.Resources>
<Style TargetType="Button">
<Setter Property="Background" Value="LightBlue"/>
</Style>
</Window.Resources>
XAML এর গুরুত্বপূর্ণ বৈশিষ্ট্য
- ডিজাইন এবং লজিকের বিভাজন: UI ডিজাইন এবং এর লজিক আলাদা ফাইলে রাখা যায়।
- ডাটা বাইন্ডিং: ভিউ এবং ডেটা মডেলের মধ্যে শক্তিশালী সংযোগ।
- স্টাইলিং এবং টেমপ্লেটিং: কন্ট্রোলগুলোর কাস্টমাইজেশন সহজ।
- রিসোর্স রিইউজেবল: রিসোর্সগুলো ডিক্লেয়ার করে পুনরায় ব্যবহার করা যায়।
- ইভেন্ট হ্যান্ডলিং: ইভেন্ট সংযুক্ত করার জন্য সরাসরি XAML ব্যবহার করা যায়।
XAML এর মৌলিক ধারণাগুলো UI তৈরির প্রক্রিয়াকে সহজ করে এবং ডেভেলপার ও ডিজাইনারদের মধ্যে একটি কার্যকর সমন্বয় তৈরি করে।
Read more