WPF (Windows Presentation Foundation) অ্যাপ্লিকেশনগুলিতে ItemsControl, ListView, এবং TreeView হল এমন কন্ট্রোল যা ডেটা বা আইটেমের একটি সংগ্রহ প্রদর্শন করতে ব্যবহৃত হয়। এই কন্ট্রোলগুলি ডেটা-বাইন্ডিং এবং কাস্টম UI উপাদান ব্যবহারের মাধ্যমে একাধিক আইটেমের তালিকা বা কাঠামো প্রদর্শন করতে সক্ষম।
প্রতিটি কন্ট্রোলের নিজস্ব বৈশিষ্ট্য এবং ব্যবহারের ক্ষেত্র রয়েছে, এবং সেগুলি বিভিন্ন ধরনের ডেটা প্রদর্শন করার জন্য খুবই উপকারী।
ItemsControl কী? (What is ItemsControl?)
ItemsControl হল একটি মৌলিক WPF কন্ট্রোল যা ডেটার একটি সংগ্রহ বা লিস্ট প্রদর্শন করতে ব্যবহৃত হয়। এটি সাধারণত অন্যান্য কন্ট্রোলগুলির ভিত্তি হিসেবে ব্যবহৃত হয়, যেমন ListBox, ComboBox, ListView, ইত্যাদি। ItemsControl কেবল আইটেমগুলি প্রদর্শন করে এবং এই আইটেমগুলির কাস্টম লেআউট প্রদর্শন করতে পারে।
ItemsControl কন্ট্রোলের মধ্যে ItemTemplate ব্যবহার করে প্রতিটি আইটেমের জন্য কাস্টম UI উপাদান তৈরি করা যায়।
ItemsControl ব্যবহার উদাহরণ (ItemsControl Example)
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="ItemsControl Example" Height="350" Width="525">
<Grid>
<ItemsControl Name="itemsControl">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</Window>
MainWindow.xaml.cs:
using System.Windows;
namespace WPFApplication
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
itemsControl.ItemsSource = new string[] { "Apple", "Banana", "Cherry" };
}
}
}
এখানে, ItemsControl একটি সংগ্রহের আইটেম প্রদর্শন করছে এবং প্রতিটি আইটেমকে TextBlock এর মাধ্যমে দেখাচ্ছে।
ListView কী? (What is ListView?)
ListView হল একটি উন্নত ItemsControl যা ডেটার সংগ্রহকে একটি টেবিলের মত প্রদর্শন করতে সক্ষম। এটি ListBox এর মতো, তবে এটি কলাম, হেডার এবং সাজানোর ফিচার সমর্থন করে। ListView সাধারণত ডেটা-ভিত্তিক অ্যাপ্লিকেশনের জন্য ব্যবহৃত হয়, যেখানে আইটেমের উপর বিভিন্ন অপারেশন যেমন sort, filter, এবং grouping করার প্রয়োজন হয়।
ListView ব্যবহার উদাহরণ (ListView Example)
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="ListView Example" Height="350" Width="525">
<Grid>
<ListView Name="listView" Margin="10">
<ListView.View>
<GridView>
<GridViewColumn Header="Fruit" DisplayMemberBinding="{Binding Name}" Width="200"/>
<GridViewColumn Header="Color" DisplayMemberBinding="{Binding Color}" Width="200"/>
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>
MainWindow.xaml.cs:
using System.Collections.Generic;
using System.Windows;
namespace WPFApplication
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
var fruits = new List<Fruit>
{
new Fruit { Name = "Apple", Color = "Red" },
new Fruit { Name = "Banana", Color = "Yellow" },
new Fruit { Name = "Cherry", Color = "Red" }
};
listView.ItemsSource = fruits;
}
}
public class Fruit
{
public string Name { get; set; }
public string Color { get; set; }
}
}
এখানে, ListView কন্ট্রোল ব্যবহার করে একটি GridView তৈরি করা হয়েছে, যা প্রতিটি ফ্রুটের নাম এবং রঙ প্রদর্শন করবে।
TreeView কী? (What is TreeView?)
TreeView হল একটি কন্ট্রোল যা ডেটা বা আইটেমের হায়ারার্কিকাল (পিরামিডের মতো) কাঠামো প্রদর্শন করতে ব্যবহৃত হয়। এটি ডেটার পিতামাতার (parent) এবং সন্তান (child) সম্পর্কের ভিত্তিতে ডেটা দেখায়, যেমন ফোল্ডার এবং ফাইলের গঠন। TreeView কন্ট্রোলের মাধ্যমে আপনি ডেটার কাঠামো দেখাতে পারেন যা বিভিন্ন স্তরে বিভক্ত।
TreeView ব্যবহার উদাহরণ (TreeView Example)
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="TreeView Example" Height="350" Width="525">
<Grid>
<TreeView Name="treeView" Margin="10">
<TreeViewItem Header="Fruits">
<TreeViewItem Header="Apple"/>
<TreeViewItem Header="Banana"/>
<TreeViewItem Header="Cherry"/>
</TreeViewItem>
<TreeViewItem Header="Vegetables">
<TreeViewItem Header="Carrot"/>
<TreeViewItem Header="Potato"/>
<TreeViewItem Header="Spinach"/>
</TreeViewItem>
</TreeView>
</Grid>
</Window>
MainWindow.xaml.cs:
using System.Windows;
namespace WPFApplication
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
এখানে, TreeView কন্ট্রোলের মধ্যে দুটি পিতামাতার আইটেম রয়েছে: Fruits এবং Vegetables, এবং প্রতিটি পিতামাতার আইটেমের নিচে সন্তান আইটেমগুলির তালিকা রয়েছে।
ItemsControl, ListView, এবং TreeView এর মধ্যে পার্থক্য (Differences Between ItemsControl, ListView, and TreeView)
| Feature | ItemsControl | ListView | TreeView |
|---|---|---|---|
| Usage | সাধারণ আইটেমের তালিকা প্রদর্শন | ডেটার টেবিল-স্টাইল ভিউ, কলাম সাপোর্ট | হায়ারার্কিকাল ডেটা বা ফোল্ডার/ফাইল কাঠামো |
| UI Structure | কেবল আইটেম প্রদর্শন | কলাম এবং হেডারের সাথে আইটেম প্রদর্শন | পিতামাতা এবং সন্তান সম্পর্ক সহ প্রদর্শন |
| Sorting | সাপোর্ট করে না | সাপোর্ট করে (GridView সহ) | সাপোর্ট করে না |
| Grouping | সাপোর্ট করে না | সাপোর্ট করে (GroupStyle এর মাধ্যমে) | সাপোর্ট করে না |
| Data Binding | সিম্পল ডেটা বাইন্ডিং | সিম্পল ডেটা বাইন্ডিং + কলাম সাপোর্ট | হায়ারার্কিকাল ডেটা বাইন্ডিং |
সারাংশ (Summary)
- ItemsControl সাধারণ তালিকা বা আইটেমের জন্য ব্যবহৃত হয়, এবং এটি UI কাস্টমাইজ করার জন্য সবচেয়ে মৌলিক কন্ট্রোল।
- ListView একটি উন্নত কন্ট্রোল যা টেবিলের মতো সাজানো ডেটা প্রদর্শন করতে সক্ষম এবং কলাম, হেডার, এবং সোর্টিং সাপোর্ট করে।
- TreeView হায়ারার্কিকাল ডেটা প্রদর্শনের জন্য ব্যবহৃত হয়, যেমন ফোল্ডার এবং ফাইলের গঠন বা কোন ডেটা পিতামাতা-সন্তান সম্পর্কের মধ্যে রয়েছে।
এই কন্ট্রোলগুলি আপনার WPF অ্যাপ্লিকেশনে ডেটা প্রদর্শন এবং কাস্টম UI তৈরি করতে অত্যন্ত কার্যকরী।
Read more