Modal Pages এবং Parameters Passing গাইড ও নোট

Mobile App Development - ডট নেট এমআইইউআই (.NET MAUI) - Navigation এবং Multi-Page অ্যাপ্লিকেশন তৈরি
347

Modal Pages এবং Parameters Passing .NET MAUI তে দুইটি গুরুত্বপূর্ণ কনসেপ্ট যা ব্যবহারকারীর সাথে ইন্টারঅ্যাকশন এবং ডাটা শেয়ারিং প্রক্রিয়াকে সহজ করে তোলে। Modal Pages ব্যবহার করে আপনি একটি নতুন পেজ প্রদর্শন করতে পারেন, এবং Parameters Passing এর মাধ্যমে আপনি এক পেজ থেকে আরেক পেজে ডাটা পাস করতে পারেন।

1. Modal Pages

Modal Pages এমন পেজ যেখানে ব্যবহারকারী সেই পেজটি বন্ধ না করা পর্যন্ত আগের পেজে ফিরে যেতে পারে না। সাধারণত এটি অ্যাপের ফ্লো নিয়ন্ত্রণ করতে ব্যবহৃত হয়, যেমন লগইন পেজ, ডায়ালগ বক্স ইত্যাদি।

Modal পেজে যাবার জন্য Navigation.PushModalAsync() মেথড ব্যবহার করা হয়, এবং modal পেজ বন্ধ করার জন্য Navigation.PopModalAsync() ব্যবহার করা হয়।

Modal Page Example:

নিচে একটি উদাহরণ দেওয়া হল যেখানে একটি Modal পেজ তৈরি করা হয়েছে।

MainPage.xaml (মূল পেজ)
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="MAUIApp.MainPage">
    
    <Button Text="Open Modal Page"
            Clicked="OnOpenModalPageClicked" />
</ContentPage>
MainPage.xaml.cs (মূল পেজের কোড)
public MainPage()
{
    InitializeComponent();
}

private async void OnOpenModalPageClicked(object sender, EventArgs e)
{
    // Modal page open করা হচ্ছে
    await Navigation.PushModalAsync(new ModalPage());
}
ModalPage.xaml (Modal পেজ)
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="MAUIApp.ModalPage">
    
    <StackLayout>
        <Label Text="This is a modal page!" 
               HorizontalOptions="Center"
               VerticalOptions="CenterAndExpand" />
        <Button Text="Close" Clicked="OnCloseButtonClicked" />
    </StackLayout>
</ContentPage>
ModalPage.xaml.cs (Modal পেজের কোড)
public ModalPage()
{
    InitializeComponent();
}

private async void OnCloseButtonClicked(object sender, EventArgs e)
{
    // Modal page বন্ধ করা হচ্ছে
    await Navigation.PopModalAsync();
}

এখানে, MainPage থেকে ModalPage খোলা হচ্ছে এবং ModalPage-এ একটি "Close" বাটন রয়েছে যা ব্যবহারকারীকে modal পেজ বন্ধ করতে সহায়ক হবে।


2. Parameters Passing

Modal পেজে ডাটা পাঠানোর জন্য Parameters Passing ব্যবহার করা হয়। আপনি যখন একটি Modal পেজ চালু করেন, তখন আপনি প্যারামিটার হিসেবে ডাটা পাঠাতে পারেন, এবং সেই পেজে সেই ডাটা অ্যাক্সেস করতে পারেন।

Parameters Passing Example:

নিচে একটি উদাহরণ দেওয়া হল যেখানে প্যারামিটার পাস করে Modal পেজে ডাটা পাঠানো হচ্ছে।

MainPage.xaml (মূল পেজ)
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="MAUIApp.MainPage">
    
    <Button Text="Open Modal Page with Parameter"
            Clicked="OnOpenModalPageClicked" />
</ContentPage>
MainPage.xaml.cs (মূল পেজের কোড)
public MainPage()
{
    InitializeComponent();
}

private async void OnOpenModalPageClicked(object sender, EventArgs e)
{
    var data = "Hello from MainPage!";
    // Modal page open করা হচ্ছে এবং parameter পাঠানো হচ্ছে
    await Navigation.PushModalAsync(new ModalPage(data));
}
ModalPage.xaml (Modal পেজ)
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="MAUIApp.ModalPage">
    
    <StackLayout>
        <Label x:Name="lblMessage" 
               HorizontalOptions="Center"
               VerticalOptions="CenterAndExpand" />
        <Button Text="Close" Clicked="OnCloseButtonClicked" />
    </StackLayout>
</ContentPage>
ModalPage.xaml.cs (Modal পেজের কোড)
public partial class ModalPage : ContentPage
{
    public ModalPage(string message)
    {
        InitializeComponent();
        // Modal পেজে প্যারামিটার পাস করা হচ্ছে
        lblMessage.Text = message;
    }

    private async void OnCloseButtonClicked(object sender, EventArgs e)
    {
        // Modal page বন্ধ করা হচ্ছে
        await Navigation.PopModalAsync();
    }
}

এখানে, MainPage থেকে একটি স্ট্রিং প্যারামিটার "Hello from MainPage!" ModalPage এ পাস করা হচ্ছে, এবং ModalPage-এ একটি লেবেলে সেট করা হচ্ছে।


3. Data Passing between Pages (Non-modal pages)

আপনি PushAsync বা PopAsync ব্যবহার করে নন-মডাল পেজের মধ্যে ডাটা পাস করতে পারেন। এই ক্ষেত্রে আপনি পেজে ডাটা পাস করার জন্য একটি কনস্ট্রাক্টর বা Property ব্যবহার করতে পারেন।

Non-modal Page Example:

MainPage.xaml (মূল পেজ)
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="MAUIApp.MainPage">
    
    <Button Text="Open Another Page with Data"
            Clicked="OnOpenAnotherPageClicked" />
</ContentPage>
MainPage.xaml.cs (মূল পেজের কোড)
private async void OnOpenAnotherPageClicked(object sender, EventArgs e)
{
    var data = "Hello from MainPage!";
    // Non-modal page open করা হচ্ছে এবং parameter পাঠানো হচ্ছে
    await Navigation.PushAsync(new AnotherPage(data));
}
AnotherPage.xaml (অন্য পেজ)
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="MAUIApp.AnotherPage">
    
    <StackLayout>
        <Label x:Name="lblData" 
               HorizontalOptions="Center"
               VerticalOptions="CenterAndExpand" />
        <Button Text="Back" Clicked="OnBackButtonClicked" />
    </StackLayout>
</ContentPage>
AnotherPage.xaml.cs (অন্য পেজের কোড)
public partial class AnotherPage : ContentPage
{
    public AnotherPage(string message)
    {
        InitializeComponent();
        // Data পাস করা হচ্ছে
        lblData.Text = message;
    }

    private async void OnBackButtonClicked(object sender, EventArgs e)
    {
        // পেছনে ফিরে আসা
        await Navigation.PopAsync();
    }
}

এখানে, MainPage থেকে AnotherPage তে ডাটা পাস করা হচ্ছে।


সারাংশ:

  • Modal Pages ব্যবহার করে আপনি একটি পেজকে মোডাল পেজ হিসেবে প্রদর্শন করতে পারেন, যা বন্ধ না করা পর্যন্ত আগের পেজে ফিরে যাওয়া সম্ভব নয়। এটি ডায়ালগ বক্স বা অন্যান্য সাধারণ অ্যাকশনগুলির জন্য ব্যবহৃত হয়।
  • Parameters Passing এর মাধ্যমে আপনি একটি পেজ থেকে আরেক পেজে ডাটা পাঠাতে পারেন, যেমন Modal পেজে বা Non-modal পেজে।
Content added By
Promotion

Are you sure to start over?

Loading...