Property Trigger, Data Trigger, এবং Event Trigger

Microsoft Technologies - ডব্লিউপিএফ (WPF) - Triggers এবং Visual State Management
252

WPF (Windows Presentation Foundation) একটি শক্তিশালী ইউজার ইন্টারফেস ফ্রেমওয়ার্ক, যা Triggers ব্যবহার করে UI উপাদানগুলোর আচরণ বা স্টাইল পরিবর্তন করতে সহায়তা করে। Trigger হলো এমন একটি কৌশল যা কোনো নির্দিষ্ট শর্ত বা ঘটনার ভিত্তিতে UI কন্ট্রোলের প্রপার্টি পরিবর্তন করে। WPF তে প্রধানত তিনটি ধরনের ট্রিগার ব্যবহার করা হয়: Property Trigger, Data Trigger, এবং Event Trigger

১. Property Trigger

Property Trigger কন্ট্রোলের একটি নির্দিষ্ট প্রপার্টি পরিবর্তিত হলে (যেমন, মাউস হোভার, ফোকাস) সেই কন্ট্রোলের স্টাইল বা বৈশিষ্ট্য পরিবর্তন করার জন্য ব্যবহৃত হয়। এটি সাধারণত স্টাইলের অংশ হিসেবে ব্যবহৃত হয় এবং নির্দিষ্ট প্রপার্টির মানের উপর ভিত্তি করে UI উপাদান পরিবর্তন করে।

Property Trigger এর উদাহরণ (Example of Property Trigger)

<Button Content="Click Me" Width="100" Height="50">
    <Button.Style>
        <Style TargetType="Button">
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Background" Value="LightGreen"/>
                    <Setter Property="FontSize" Value="20"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>

এখানে:

  • Property হলো IsMouseOver, যা বোতামের উপর মাউস হোভার করলে ট্রিগার হয়।
  • যখন IsMouseOver এর মান True হয় (মাউস বাটনের উপর থাকে), তখন Background এবং FontSize প্রপার্টি পরিবর্তিত হবে।

২. Data Trigger

Data Trigger কন্ট্রোলের ডেটার ভিত্তিতে UI কন্ট্রোলের স্টাইল পরিবর্তন করার জন্য ব্যবহৃত হয়। এটি Data Binding এর সাথে কাজ করে এবং যখন ডেটার কোনো পরিবর্তন ঘটে তখন নির্দিষ্ট কন্ট্রোলের বৈশিষ্ট্য আপডেট হয়। এটি WPF এর MVVM (Model-View-ViewModel) প্যাটার্নে খুবই গুরুত্বপূর্ণ, যেখানে UI কন্ট্রোলগুলি ডেটার সাথে সিঙ্ক্রোনাইজ থাকে।

Data Trigger এর উদাহরণ (Example of Data Trigger)

<Button Content="Click Me" Width="100" Height="50">
    <Button.Style>
        <Style TargetType="Button">
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsClicked}" Value="True">
                    <Setter Property="Background" Value="Red"/>
                    <Setter Property="FontSize" Value="18"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>

এখানে:

  • Binding ব্যবহার করা হয়েছে IsClicked প্রপার্টি সাথে, যা ViewModel এর মধ্যে থাকবে।
  • যখন IsClicked এর মান True হয়, তখন বাটনের Background এবং FontSize পরিবর্তিত হবে।

C# Code (ViewModel):

public class MainViewModel : INotifyPropertyChanged
{
    private bool isClicked;
    public bool IsClicked
    {
        get { return isClicked; }
        set
        {
            isClicked = value;
            OnPropertyChanged(nameof(IsClicked));
        }
    }
}

এখানে:

  • IsClicked প্রপার্টি বাটনের অবস্থান পরিবর্তন করার জন্য ব্যবহার করা হচ্ছে।

৩. Event Trigger

Event Trigger একটি ট্রিগার যা কোনো নির্দিষ্ট ইভেন্ট (যেমন, Button Click, Mouse Enter) ঘটে তখন UI কন্ট্রোলের স্টাইল বা বৈশিষ্ট্য পরিবর্তন করতে ব্যবহৃত হয়। এটি UI উপাদানগুলোতে ইন্টারঅ্যাকশন বা ব্যবহারকারী কর্মকাণ্ডের ভিত্তিতে অ্যাকশন গ্রহণ করে।

Event Trigger এর উদাহরণ (Example of Event Trigger)

<Button Content="Click Me" Width="100" Height="50">
    <Button.Style>
        <Style TargetType="Button">
            <Style.Triggers>
                <EventTrigger RoutedEvent="Button.Click">
                    <BeginStoryboard>
                        <Storyboard>
                            <ColorAnimation 
                                Storyboard.TargetProperty="(Button.Background).(SolidColorBrush.Color)"
                                From="Green" To="Red" Duration="0:0:1"/>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>

এখানে:

  • EventTrigger এর মাধ্যমে Button.Click ইভেন্টের জন্য একটি Storyboard অ্যানিমেশন চালু হচ্ছে।
  • যখন বাটনে ক্লিক করা হবে, তখন বাটনের Background রঙ Green থেকে Red তে পরিবর্তিত হবে।

সারাংশ (Summary)

  • Property Trigger UI কন্ট্রোলের প্রপার্টি পরিবর্তন করার জন্য ব্যবহৃত হয় যখন নির্দিষ্ট প্রপার্টির মান পরিবর্তিত হয় (যেমন, IsMouseOver বা IsFocused)।
  • Data Trigger ডেটা মডেল বা প্রপার্টির মান পরিবর্তন হলে UI কন্ট্রোলের স্টাইল পরিবর্তন করার জন্য ব্যবহৃত হয়। এটি সাধারণত MVVM প্যাটার্নে ব্যবহৃত হয়।
  • Event Trigger ইভেন্টের মাধ্যমে UI কন্ট্রোলের আচরণ পরিবর্তন করার জন্য ব্যবহৃত হয়, যেমন Button.Click বা MouseEnter

এই তিনটি ট্রিগারের সাহায্যে আপনি ডাইনামিক, রেসপন্সিভ এবং ইন্টারঅ্যাকটিভ WPF অ্যাপ্লিকেশন তৈরি করতে পারবেন, যা ইউজারের ইন্টারঅ্যাকশনের ওপর ভিত্তি করে বিভিন্ন স্টাইল এবং আচরণ পরিবর্তন করবে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...