Microsoft Technologies Master-Detail Layout এবং Data Passing Between Pages গাইড ও নোট

327

Windows application development-এ Master-Detail Layout এবং Data Passing Between Pages দুটি গুরুত্বপূর্ণ টেকনিক। এগুলি সাধারণত ব্যবহারকারীর ইন্টারঅ্যাকশন এবং ডেটা ব্যবস্থাপনা ব্যবস্থাকে আরও উন্নত এবং কার্যকর করে তোলে। Master-Detail Layout সাধারণত অ্যাপ্লিকেশনের UI ডিজাইনে ব্যবহৃত হয় যেখানে প্রধান (Master) পেজের উপর ভিত্তি করে বিস্তারিত (Detail) পেজের কন্টেন্ট পরিবর্তিত হয়। Data Passing Between Pages ডেটা এক পেজ থেকে অন্য পেজে প্রেরণ করতে ব্যবহৃত হয়।


Master-Detail Layout

Master-Detail Layout হল একটি ডিজাইন প্যাটার্ন যেখানে দুটি ভিন্ন দৃশ্য (Views) থাকে:

  1. Master View: এটি একটি লিস্ট বা সেকশনের মতো ডেটার সারাংশ প্রদর্শন করে। সাধারণত এটি একটি তালিকা, গ্রিড বা মেনু যা ব্যবহারকারীকে বেছে নিতে দেয়।
  2. Detail View: এটি Master View-এ নির্বাচিত আইটেমের বিস্তারিত প্রদর্শন করে।

এই প্যাটার্নটি মোবাইল অ্যাপ্লিকেশন বা ডেস্কটপ অ্যাপ্লিকেশন ডিজাইনে খুবই জনপ্রিয়, বিশেষত যেখানে অনেক তথ্য থাকে এবং একে একে সেগুলোর বিস্তারিত দেখতে হয়।

উদাহরণ:

ধরা যাক, একটি অ্যাপ্লিকেশনে Contacts লিস্ট (Master) এবং প্রতিটি কন্টাক্টের বিস্তারিত তথ্য (Detail) দেখানোর ব্যবস্থা আছে।

Master View (Contact List):

<ListBox Name="ContactsList" SelectionChanged="ContactsList_SelectionChanged">
    <ListBoxItem Content="John Doe"/>
    <ListBoxItem Content="Jane Smith"/>
    <ListBoxItem Content="Samuel Green"/>
</ListBox>

Detail View (Contact Details):

<StackPanel>
    <TextBlock Name="ContactName"/>
    <TextBlock Name="ContactPhone"/>
    <TextBlock Name="ContactEmail"/>
</StackPanel>

C# কোড (Data Passing):

private void ContactsList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    ListBox listBox = sender as ListBox;
    ListBoxItem selectedItem = listBox.SelectedItem as ListBoxItem;
    if (selectedItem != null)
    {
        string selectedContact = selectedItem.Content.ToString();

        // Show the contact details in the Detail View
        ContactName.Text = selectedContact;
        // Assume the phone and email are fetched based on the selected contact
        ContactPhone.Text = "123-456-7890";
        ContactEmail.Text = "email@example.com";
    }
}

ব্যাখ্যা:

  • Master View-এ একটি ListBox ব্যবহার করা হয়েছে যেখানে কন্টাক্টের নাম রয়েছে।
  • Detail View-এ কন্টাক্টের বিস্তারিত তথ্য দেখানো হবে।
  • যখন একটি কন্টাক্ট লিস্ট থেকে নির্বাচিত হবে, তখন SelectionChanged ইভেন্টের মাধ্যমে ডেটা Detail View-এ পাঠানো হয়।

Data Passing Between Pages

এক পেজ থেকে অন্য পেজে ডেটা পাঠানোর জন্য বিভিন্ন পদ্ধতি ব্যবহার করা যেতে পারে, যেমন: Query Strings, Navigation Parameters, অথবা Dependency Properties

১. Query Strings (যেমন: Web API)

এই পদ্ধতিতে, URL এর মধ্যে ডেটা পাঠানো হয় যা পরবর্তী পেজে রিড করা যায়। তবে, এটি সাধারণত ওয়েব অ্যাপ্লিকেশনগুলোতে ব্যবহৃত হয়, ডেস্কটপ অ্যাপ্লিকেশনে আরও সুনির্দিষ্ট পদ্ধতি ব্যবহার করা হয়।

২. Navigation Parameters

Windows-এ NavigationService ব্যবহার করে পেজ থেকে পেজে ডেটা পাঠানো যায়। NavigationParameters বা PageNavigationEventArgs এর মাধ্যমে ডেটা পাঠানো যেতে পারে।

উদাহরণ:

ধরা যাক, আপনার অ্যাপ্লিকেশনে একটি প্রোফাইল পেজ আছে এবং আপনি ইউজারের নাম পরবর্তী পেজে পাঠাতে চান।

Page 1 (Master Page):

<Button Content="Go to Profile" Click="GoToProfile_Click"/>
private void GoToProfile_Click(object sender, RoutedEventArgs e)
{
    // Navigating to Profile Page and passing data
    ProfilePage profilePage = new ProfilePage();
    profilePage.UserName = "John Doe";  // Setting the data to pass
    this.NavigationService.Navigate(profilePage);  // Navigating to ProfilePage
}

Page 2 (Detail Page: ProfilePage):

<TextBlock Name="UserNameTextBlock"/>
public string UserName { get; set; }  // Property to hold the passed data

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    UserNameTextBlock.Text = UserName;  // Displaying the passed data
}

ব্যাখ্যা:

  • ProfilePage ক্লাসে একটি UserName প্রোপার্টি ব্যবহার করা হয়েছে, যা পেজের মধ্যে ডেটা সেট করার জন্য ব্যবহৃত হয়।
  • Page 1 থেকে ডেটা প্রোপার্টি সেট করে, পেজ পরিবর্তন করার পর পরবর্তী পেজে এটি প্রদর্শিত হয়।

৩. Using Dependency Properties (Advanced)

ডেটা পাঠানোর আরও একটি পদ্ধতি হলো Dependency Properties ব্যবহার করা। এটি ডেটা শেয়ার করার জন্য WPF এবং UWP অ্যাপ্লিকেশনগুলোতে ব্যবহৃত হয়।

উদাহরণ:

public static readonly DependencyProperty UserNameProperty =
    DependencyProperty.Register("UserName", typeof(string), typeof(MainPage), new PropertyMetadata(string.Empty));

public string UserName
{
    get { return (string)GetValue(UserNameProperty); }
    set { SetValue(UserNameProperty, value); }
}

এটি আরও উন্নত এবং কার্যকরী ডেটা শেয়ারিং পদ্ধতি যখন আপনাকে UI থেকে ডেটা পাঠাতে হবে এবং একই সাথে ডেটার পরিবর্তনকে UI-তে প্রতিফলিত করতে হবে।


উপসংহার

Master-Detail Layout এবং Data Passing Between Pages দুইটি গুরুত্বপূর্ণ UI ডিজাইন প্যাটার্ন, যা ডেটার প্রদর্শন এবং ব্যবহারকারী ইন্টারঅ্যাকশন আরও সুবিধাজনক করে তোলে। Master-Detail Layout প্যাটার্নের মাধ্যমে সহজে জটিল তথ্য প্রেজেন্টেশন তৈরি করা যায় এবং Data Passing এর মাধ্যমে এক পেজ থেকে অন্য পেজে ডেটা পাঠানো যায়। WPF, UWP, এবং WinUI এর মাধ্যমে এই প্যাটার্নগুলো বাস্তবায়ন করা সহজ এবং কার্যকরী।

Content added By
Promotion

Are you sure to start over?

Loading...